예제 #1
0
        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;
                    }
                    ;
                }
            });
        }
예제 #2
0
        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");
            }
        }