最简单的web服务器实例
来源:互联网 发布:序列对比软件 编辑:程序博客网 时间:2024/05/26 20:22
1.新建一个控制台工程,代码如下
static void Main(string[] args) { // 定义IP地址 IPAddress address = IPAddress.Loopback; IPEndPoint endPoint = new IPEndPoint(address, 50000); // 创建socket对象 Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // bind socket.Bind(endPoint); // listen socket.Listen(10); Console.WriteLine("开始监听,端口号:{0}", endPoint.Port); while (true) { // accept Socket clientSocket = socket.Accept(); Console.WriteLine("建立了一个连接,对方端点{0}", clientSocket.RemoteEndPoint); // 开始接受对方的信息,并显示 byte[] buffer = new byte[4096]; int length = clientSocket.Receive(buffer, 4096, SocketFlags.None); System.Text.Encoding utf8 = System.Text.Encoding.UTF8; string requestString = utf8.GetString(buffer, 0, length); Console.WriteLine(requestString); // 发送响应信息 string statusLine = "HTTP/1.1 200 OK\r\n"; byte[] statusLineBytes = utf8.GetBytes(statusLine); // 状态行 string responseBody = "<html><head><title>response server</title></head><body>hello world!</body></html>"; byte[] responseBodyBytes = utf8.GetBytes(responseBody);// 内容部分 string responseHeader = String.Format("Content-Type: text/html;charset=UTF-8\r\nContent-Length:{0}\r\n", responseBody.Length); byte[] responseHeaderBytes = utf8.GetBytes(responseHeader);// 回应头 // 发送消息 clientSocket.Send(statusLineBytes); clientSocket.Send(responseHeaderBytes); clientSocket.Send(new byte[] { 13, 10 }); clientSocket.Send(responseBodyBytes); // 断开与客户端的连接 clientSocket.Close(); if (Console.KeyAvailable) { break; } } socket.Close(); }
2.运行该工程
3.打开浏览器在地址栏中输入http://localhost:50000/ ,用httpwatch可大概了解浏览器与服务器的简要流程- 最简单的web服务器实例
- 最简单的web服务器
- 最简单的python web服务器
- Python建立最简单的web服务器
- 简单基于HttpListener的Web服务器实例
- 建立最简单的repo服务器实例讲解
- 建立最简单的repo服务器实例讲解
- 建立最简单的repo服务器实例讲解
- 建立最简单的repo服务器实例讲解
- 基于OSGi的Virgo Server最简单Spring web实例
- 基于OSGi的Virgo Server最简单Spring web实例
- 基于OSGi的Virgo Server最简单Spring web实例
- Command-line: 建立最简单的web目录服务器
- 用Python建立最简单的web服务器
- [python相关]用Python建立最简单的web服务器
- 用Python建立最简单的web服务器
- 用Python建立最简单的web服务器
- 用Python建立最简单的web服务器
- 工程师们,不要想一辈子靠技术混饭吃!
- Live Wallpaper动态壁纸开发
- rsa数字签名与hash/md5数字摘要
- SQL差异恢复 cy_restoreDB.bat
- iPhone消息推送机制实现与探讨
- 最简单的web服务器实例
- UIApplication对象及其代理UIApplicationDelegate
- SQL完整备份 wz_Backup.bat
- TableModel失效的问题
- SQL完整备份 wz_restoreDB.bat
- SQL差异备份 cy_Backup.bat
- jetty配置jndi数据源
- gzip原理与实现
- 使用说明