// Incoming data from the client.
                public static string data = null;
           
               public static void StartListening() {
                  // Data buffer for incoming data.
                  byte[] bytes = new Byte[1024];

                  // Establish the local endpoint for the socket.
                  // Dns.GetHostName returns the name of the
                   // host running the application.
                   IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
                  IPAddress ipAddress = ipHostInfo.AddressList[0];
                  IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11000);

                  // Create a TCP/IP socket.
                  Socket listener = new Socket(AddressFamily.InterNetwork,
                      SocketType.Stream, ProtocolType.Tcp );

                  // Bind the socket to the local endpoint and
                  // listen for incoming connections.
                   try {
                      listener.Bind(localEndPoint);
                       listener.Listen(10);
           
                      // Start listening for connections.
                      while (true) {
                          Console.WriteLine("Waiting for a connection");
                           // Program is suspended while waiting for an incoming connection.
                          Socket handler = listener.Accept();
                           data = null;

                          // An incoming connection needs to be processed.
                          while (true) {
                              data = string.Empty;
                               bytes = new byte[1024];
                               int bytesRec = handler.Receive(bytes);
                               data += Encoding.GetEncoding("GB2312").GetString(bytes,0,bytesRec);
                               if (data.IndexOf("<EOF>") > -1) {
                                   // Show the data on the console.
                                   Console.WriteLine("Text received : {0}", data);
                                   continue;
                               }

                               // Echo the data back to the client.
                               byte[] msg = Encoding.ASCII.GetBytes(data);

                               handler.Send(msg);
                           }
           
                    
           
                           handler.Shutdown(SocketShutdown.Both);
                           handler.Close();
                       }
                     
                   } catch (Exception e) {
                      Console.WriteLine(e.ToString());
                   }
           
                   Console.WriteLine("\nPress ENTER to continue");
                   Console.Read();
                  
               }
           

          posted on 2011-01-11 13:19 sanmao 閱讀(432) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 邯郸市| 云林县| 翼城县| 宜宾市| 房山区| 比如县| 大邑县| 阿拉善左旗| 冀州市| 屏南县| 乐至县| 澜沧| 安新县| 乌拉特后旗| 中方县| 剑川县| 南充市| 高邮市| 石门县| 兴宁市| 郑州市| 辽阳县| 大城县| 泾川县| 双峰县| 乌拉特后旗| 徐汇区| 满洲里市| 察隅县| 沁阳市| 壶关县| 万州区| 五河县| 弥渡县| 东宁县| 长葛市| 马关县| 澎湖县| 乡宁县| 郑州市| 石首市|