日期:2014-05-18 浏览次数:20783 次
IPHostEntry gist = Dns.GetHostByName("localhost"); IPAddress ip = gist.AddressList[0]; IPEndPoint IPEP = new IPEndPoint(ip, 6666); Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); sock.Bind(IPEP); sock.Listen(10); _logger.Log("开启服务,开始侦听:" + IPEP.Port, Category.Info, Priority.Medium); int sum = 0; while (true) { // 开始监听,这个方法会阻塞线程的执行,直到接受到一个客户端的连接请求 Socket client = sock.Accept(); // 输出客户端的地址 _logger.Log(client.RemoteEndPoint.ToString(), Category.Info, Priority.Medium); // 准备读取客户端请求的数据,读取的数据将保存在一个数组中 byte[] buffer = new byte[4096]; // 接受数据 int length = client.Receive(buffer, 4096, SocketFlags.None); // 将请求的数据翻译为 UTF-8 System.Text.Encoding utf8 = System.Text.Encoding.UTF8; string requestString = utf8.GetString(buffer, 0, length); // 显示请求的内容 Console.WriteLine(requestString); } // 关闭服务器 sock.Close();