在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("Simple Web Server ");
writer.WriteLine("Hello, World!
");
writer.WriteLine("");
}
// 关闭响应
response.Close();
}
}
}
这个简单的Web服务器将监听8080端口,并在根目录下提供一个HTML页面。你可以根据需要修改OnRequestReceived
方法来处理不同的请求和路径。