public void ServerWork() { try { listener = new TcpListener(IPAddress.Any, port); listener.Start(); while (true) { TcpClient client = listener.AcceptTcpClient(); ProcessClient processClient = new ProcessClient(client, this); clients.Add(processClient); processClient.registerOnServer(); string users = JsonConvert.SerializeObject(clients); byte[] data = Encoding.ASCII.GetBytes(users); processClient.stream.Write(data, 0, data.Length); Thread.Sleep(500); processClient.message = "connected"; Spreading(JsonConvert.SerializeObject(processClient), processClient.id); Thread thread = new Thread(new ThreadStart(processClient.Processing)); thread.Start(); } } catch { //MainWindow.window.chatInfo.AppendText(ex.Message); Disconnect(); } }
protected internal void RemoveConnection(string id) { ProcessClient client = clients.FirstOrDefault(c => c.id == id); if (client != null) { clients.Remove(client); client.Finish(); } }
protected void ServerWork() { listener.Start(); while (true) { TcpClient client = listener.AcceptTcpClient(); ProcessClient processClient = new ProcessClient(client, this); clients.Add(processClient); Thread thread = new Thread(new ThreadStart(processClient.Processing)); thread.Start(); } }