| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using System;
- using System.Drawing;
- using System.Reactive.Linq;
- using System.Windows.Forms;
- namespace RxMouseClient
- {
- partial class Program
- {
- [STAThread]
- static void Main(string[] args)
- {
- Console.WriteLine("Client");
- string server;
- int port;
- ParseArgs(args, out server, out port);
- var points = Remoting(server, port);
- var frm = new Form();
- var closed = Observable.FromEventPattern(frm, "FormClosed");
- frm.Load += (o, e) =>
- {
- var g = frm.CreateGraphics();
- points.TakeUntil(closed).ObserveOn(frm).Subscribe(pt =>
- {
- g.DrawEllipse(Pens.Red, pt.X, pt.Y, 1, 1);
- });
- };
- Application.Run(frm);
- }
- static void ParseArgs(string[] args, out string server, out int port)
- {
- port = 9090;
- server = "localhost";
- if (args.Length >= 1)
- {
- server = args[0];
- if (args.Length == 2)
- {
- port = int.Parse(args[1]);
- }
- }
- }
- }
- }
|