public void ServerStarted() { Console.WriteLine(commandExe.GetList()); TcpListener tcpListener = new TcpListener(IPAddress.Any, 6000); tcpListener.Start(); Task ServerStart = Task.Run(() => { tcpClient = tcpListener.AcceptTcpClient(); Console.WriteLine("Connecting"); networkStream = tcpClient.GetStream(); clientSocket = tcpClient.Client; iPEndPoint = (IPEndPoint)clientSocket.RemoteEndPoint; byte[] bytes = new byte[1024]; while (true) { int length = 0; string data = null; while ((length = networkStream.Read(bytes, 0, bytes.Length)) != 0) { Console.WriteLine("Reading"); data = Encoding.Default.GetString(bytes, 0, length); XmlSerializer serializer = new XmlSerializer(typeof(RequestMsg.Root)); StringReader reader = new StringReader(data); RequestMsg.Root responseMsg = (RequestMsg.Root)serializer.Deserialize(reader); DataParsing(responseMsg); break; } ; } }); }
public void DataParsing(RequestMsg.Root data) { try { clientIP = data.Client.IP; port = data.Client.Port; command = data.Content.Command; studentNum = data.Content.Data.Student.Number; phoneNum = data.Content.Data.Student.Phone; studentName = data.Content.Data.Student.Name; Console.WriteLine(clientIP + " " + port + " command: " + command + " studentNum: " + studentNum + " phoneNum: " + phoneNum + " studentName: " + studentName); } catch (ArgumentOutOfRangeException e) { Console.WriteLine(e.Message); } Student student = new Student(); student.name = studentName; student.phoneNum = phoneNum; student.number = studentNum; if (command.Equals("Update")) { ResponseXml(commandExe.Update(student)); } else if (command.Equals("Create")) { ResponseXml(commandExe.Create(student)); } else if (command.Equals("Delete")) { ResponseXml(commandExe.Delete(student)); } else if (command.Equals("Read")) { ResponseAllXml(commandExe.Read()); } else { Console.WriteLine("Wrong Command"); } }