protected internal void AddConnection(ClientObject clientObject) { clients.Add(clientObject); }
private static void ServerDoSomething(object obj) { TcpClient tcpClient = (TcpClient)obj; string ip = tcpClient.Client.RemoteEndPoint.ToString(); if (tcpClient == null) { return; } ClientObject clientObject = new ClientObject() { ip = ip, timeconnect = DateTime.Now }; clientObjects.Add(clientObject); using (NetworkStream networkStream = tcpClient.GetStream()) { byte[] vs1 = Encoding.UTF8.GetBytes("Hello World"); networkStream.Write(vs1, 0, vs1.Length); int byteRead; while (true) { byteRead = 0; try { byte[] vs = new byte[1024]; byteRead = networkStream.Read(vs, 0, vs.Length); if (byteRead > 0) { string s = Encoding.UTF8.GetString(vs); s = s.Substring(0, s.IndexOf('\0')); Console.WriteLine(s); if (s.Contains("313233343536")) { vs1 = Encoding.UTF8.GetBytes("ปลาหยุด"); networkStream.Write(vs1, 0, vs1.Length); } if (s.Contains("363534333231")) { vs1 = Encoding.UTF8.GetBytes("ปลาวิด"); networkStream.Write(vs1, 0, vs1.Length); } else { vs1 = Encoding.UTF8.GetBytes("Answer wrong"); networkStream.Write(vs1, 0, vs1.Length); } ClientAnswerObject clientAnswerObject = new ClientAnswerObject() { ip = ip, time = DateTime.Now, data = s }; clientAnswerObjects.Insert(0, clientAnswerObject); } } catch (Exception ex) { Console.WriteLine(ex); break; } if (byteRead == 0) { break; } } ClientObject clientObject1 = clientObjects.Find(x => x.ip == tcpClient.Client.RemoteEndPoint.ToString()); if (clientObject1 != null) { clientObjects.Remove(clientObject1); } } }