1 // 取得本机Loopback :127.0.0.1 2 IPAddress address = IPAddress.Loopback; 3 // 创建访问端点,端口:8081 4 IPEndPoint endpoint = new IPEndPoint(address,8081); 5 6 // 创建Tcp监听器 7 TcpListener tcpserver = new TcpListener(endpoint); 8 // 启动监听 9 tcpserver.Start(); 10 Console.WriteLine("开始监听。。。。。"); 11 while (true) 12 { 13 // 等待客户连接 14 TcpClient tcpClient = tcpserver.AcceptTcpClient(); 15 Console.WriteLine("已经建立连接。"); 16 // 得到数据量 17 NetworkStream stream = tcpClient.GetStream(); 18 19 // 采用UTF-8 编码 20 Encoding utf8 = Encoding.UTF8; 21 22 byte[] request = new byte[4096]; 23 24 int length = stream.Read(request, 0, 4096); 25 26 string requesting = utf8.GetString(request); 27 Console.WriteLine(requesting); 28 29 // 状态行 30 string statusline = "HTTP/1.1 200 OK\r\n"; 31 byte[] statusBuffer = utf8.GetBytes(statusline); 32 33 // 准备发送到客户端的网页 34 string responsestring = "<html><head><title>标题</title></head><body><h1>内容</h1></body></html>"; 35 byte[] responseBuffer = utf8.GetBytes(responsestring); 36 // 回应头 37 string responseHead = string.Format("Content-Type: text/html;charset=UTF-8\r\nContent-Length:{0}\r\n", responseBuffer.Length); 38 byte[] responseHeadBuffer = utf8.GetBytes(responseHead); 39 40 // 状态行 41 stream.Write(statusBuffer, 0, statusBuffer.Length); 42 // 回应头 43 stream.Write(responseHeadBuffer, 0, responseHeadBuffer.Length); 44 // 空行 \r\n 45 stream.Write(new byte[]{13,10},0,2); 46 // 内容 47 stream.Write(responseBuffer, 0, responseBuffer.Length); 48 tcpClient.Close(); 49 if (Console.KeyAvailable) 50 { 51 break; 52 } 53 } 54 // 停止监听 55 tcpserver.Stop();