static async Task Main(string[] args) { if (args.Length < 6) { return; } POCViewModel vm = null; var rnd = new Random(Guid.NewGuid().GetHashCode()); var clientName = ConfigData.Instance.ClientBaseName + rnd.Next(); var bbr = new BoundingBoxRequest(name: clientName, minLongitude: int.Parse(args[1]), minLatitude: int.Parse(args[3]), maxLongitude: int.Parse(args[2]), maxLatitude: int.Parse(args[4])); var factory = new WebSocketClientFactory(); var client = factory.Create(ConfigData.Instance.Hostname, ConfigData.Instance.Port, ConfigData.Instance.ClientType); if (await client.InitializeAsync()) { vm = new POCViewModel(client, clientName, bbr, args[0]); await vm.StartUpdatesListener(); } await Task.Delay(int.Parse(args[5])); if (vm != null) { vm.Dispose(); } Environment.Exit(0); }
public override SocketTasks StartClient() { string conUrl = Url; if (conUrl.EndsWith("/")) { conUrl = conUrl.Substring(0, conUrl.Length - 1); } conUrl += "/mlapi-connection"; client = WebSocketClientFactory.Create(conUrl); client.SetOnOpen(() => { clientEventQueue.Enqueue(new ClientEvent() { Type = NetEventType.Connect, Payload = new ArraySegment <byte>() }); }); client.SetOnClose((code) => { clientEventQueue.Enqueue(new ClientEvent() { Type = NetEventType.Disconnect, Payload = new ArraySegment <byte>() }); }); client.SetOnPayload((payload) => { clientEventQueue.Enqueue(new ClientEvent() { Type = NetEventType.Disconnect, Payload = payload }); }); client.Connect(); return(SocketTask.Done.AsTasks()); }