private void Server_ClientDisconnected(object sender, TCPServer.ClientConnectionArgs e) { Device.BeginInvokeOnMainThread(delegate() { foreach (var kv in clients) { if (kv.Value == e.Client) { clients.Remove(kv.Key); break; } } foreach (var d in ClientDisplayers) { if (d.Client == e.Client) { ClientDisplayers.Remove(d); break; } } Device.BeginInvokeOnMainThread(delegate() { clientLister.ItemsSource = null; clientLister.ItemsSource = ClientDisplayers; }); }); }
private void Server_ClientConnected(object sender, TCPServer.ClientConnectionArgs e) { var id = GetClientId(); clients.Add(id, e.Client); e.Client.SendString($"AssignID: \"{id}\" WelcomeMsg: \"Welcome! Your Id: {id}"); ClientDisplayers.Add(new ClientDisplayer(e.Client, id)); Device.BeginInvokeOnMainThread(delegate() { clientLister.ItemsSource = null; clientLister.ItemsSource = ClientDisplayers; }); }
private void Server_ClientConnected(object sender, TCPServer.ClientConnectionArgs e) { Log("Client connection { Host: " + e.Client.Ip.ToString() + " Port: " + e.Client.Port.ToString() + " }", Color.Orange); var tmout = e.Client.ClientSocket.ReceiveTimeout; e.Client.ClientSocket.ReceiveTimeout = 5000; var connectCode = "NULL"; try { connectCode = e.Client.ReceiveString(); } catch { } e.Client.ClientSocket.ReceiveTimeout = tmout; if (connectCode != "RemoteBrowser#CODE#") { SendPackage(e.Client, "Code rejected"); server.DisconnectClient(e.Client); Log($"Client Code rejected; {{ Host: {e.Client.Ip} Port: {e.Client.Port}}}"); } else { Log($"Client Code accepted; {{ Host: {e.Client.Ip} Port: {e.Client.Port}}}"); monitorThreads.Add(new Thread(new ParameterizedThreadStart(MonitorPackages))); monitorThreads.Last().Start(e.Client); } }
private void Server_ClientConnected(object sender, TCPServer.ClientConnectionArgs e) { AddClient(e.Client); new Thread(new ParameterizedThreadStart(ClientListen)).Start(e.Client); }
private void Server_ClientDisconnected(object sender, TCPServer.ClientConnectionArgs e) { RemoveClient(e.Client); }