예제 #1
0
        private Hashtable GetXMLFromStream(NetworkStream stream)
        {
            StringBuilder build = new StringBuilder();

            byte[] message = new byte[1024];
            while (true)
            {
                int x = stream.Read(message, 0, 1024);
                if (x == 0)
                {
                    break;
                }
                build.Append(Encoding.UTF8.GetString(message, 0, x));
            }
            DesXML      desxml = new DesXML();
            XmlDocument doc    = desxml.StringToXML(build.ToString());

            return(desxml.XmlToHashTable(doc));
        }
예제 #2
0
        public void ListenDeal()
        {
            string port = ConfigurationSettings.AppSettings["listenclient"];

            try
            {
                TcpListener listener = new TcpListener(Convert.ToInt32(port));
                listener.Start();
                while (true)
                {
                    byte[]        result = new byte[2050];
                    StringBuilder build  = new StringBuilder();
                    TcpClient     client = listener.AcceptTcpClient();
                    NetworkStream stream = client.GetStream();
                    while (true)
                    {
                        int x = stream.Read(result, 0, 2050);
                        if (x == 0)
                        {
                            break;
                        }
                        build.Append(Encoding.UTF8.GetString(result, 0, x));
                    }
                    client.Close();
                    //TODO:First AES decrypt, Then I have no deal the message, but it should be deal
                    DesXML      desxml = new DesXML();
                    XmlDocument doc    = desxml.StringToXML(build.ToString());
                    MessageBox.Show("处理成功");
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Deal listen Error.");
            }
            return;
        }