// 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)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 长乐市| 元谋县| 仁布县| 密山市| 灵宝市| 淮阳县| 宜宾县| 潮安县| 乌海市| 蓬莱市| 财经| 宁都县| 三台县| 德令哈市| 郧西县| 化隆| 平谷区| 教育| 天长市| 安庆市| 萨嘎县| 延津县| 江山市| 全椒县| 尖扎县| 绥江县| 沁阳市| 荃湾区| 囊谦县| 平潭县| 定日县| 柘荣县| 普格县| 新晃| 石门县| 佛学| 鄂尔多斯市| 屏南县| 荆州市| 马关县| 铜川市|