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

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 韶关市| 龙江县| 昌图县| 翁牛特旗| 都昌县| 合作市| 望城县| 元氏县| 湘乡市| 贺兰县| 陇南市| 图片| 栾川县| 丹棱县| 罗江县| 封丘县| 巢湖市| 双鸭山市| 卫辉市| 辉南县| 霍州市| 彩票| 扎兰屯市| 康马县| 都匀市| 罗山县| 关岭| 皋兰县| 莱阳市| 尉犁县| 会东县| 陵川县| 宜黄县| 乡城县| 石柱| 贵州省| 汉源县| 伊通| 五大连池市| 金昌市| 贺兰县|