阅读量:0
在C#中,你可以使用HttpListener
类来实现一个简单的Web服务器。以下是一个基本的示例:
- 首先,确保你的项目中引用了
System.Net.Http
命名空间。 - 然后,创建一个新的
HttpListener
实例,并设置监听的端口。 - 为
HttpListener
添加请求处理程序。 - 开始监听,并处理收到的请求。
- 最后,停止监听。
以下是一个简单的Web服务器实现:
using System; using System.Net; using System.Net.Http; using System.Threading; namespace SimpleWebServer { class Program { static void Main(string[] args) { // 设置监听的端口 int port = 8080; Uri uri = new Uri($"http://localhost:{port}/"); // 创建一个新的HttpListener实例 HttpListener httpListener = new HttpListener(); // 将URI添加到监听器 httpListener.IgnoreSecurityMessages = true; httpListener.Request及时处理Callback = OnRequestReceived; httpListener.AddUri(uri); // 开始监听 Console.WriteLine($"Starting server on {uri}"); httpListener.Start(); // 等待请求 Console.WriteLine("Press 'Enter' to stop the server..."); Console.ReadLine(); // 停止监听 httpListener.Stop(); Console.WriteLine("Server stopped."); } static void OnRequestReceived(HttpListenerContext context) { // 获取请求的URI string requestUri = context.Request.Url.LocalPath; // 创建一个新的响应对象 HttpResponse response = context.Response; // 设置响应的状态码和内容类型 response.StatusCode = HttpStatusCode.OK; response.ContentType = "text/html"; // 写入响应内容 using (var writer = new System.IO.StreamWriter(response.OutputStream)) { writer.WriteLine("<html><head><title>Simple Web Server</title></head>"); writer.WriteLine("<body><h1>Hello, World!</h1></body>"); writer.WriteLine("</html>"); } // 关闭响应 response.Close(); } } }
这个简单的Web服务器将监听8080端口,并在根目录下提供一个HTML页面。你可以根据需要修改OnRequestReceived
方法来处理不同的请求和路径。