c#实现http 服务器框架
时间: 2023-07-11 21:20:30 浏览: 136
C#可以使用.NET框架中的HttpListener类来实现HTTP服务器框架。下面是一个简单的示例:
```csharp
using System;
using System.Net;
using System.Threading;
namespace HttpServerExample
{
class Program
{
static void Main(string[] args)
{
HttpListener listener = new HttpListener();
listener.Prefixes.Add("http://localhost:8080/"); // 监听的地址
listener.Start();
Console.WriteLine("Http server started.");
while (true)
{
HttpListenerContext context = listener.GetContext();
ThreadPool.QueueUserWorkItem(new WaitCallback(ProcessRequest), context);
}
}
static void ProcessRequest(object state)
{
HttpListenerContext context = (HttpListenerContext)state;
HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response;
// 设置返回的内容
byte[] buffer = System.Text.Encoding.UTF8.GetBytes("Hello World!");
response.ContentLength64 = buffer.Length;
// 发送响应
response.OutputStream.Write(buffer, 0, buffer.Length);
response.OutputStream.Close();
Console.WriteLine("Request processed.");
}
}
}
```
该示例创建了一个HttpListener对象,然后监听"http://localhost:8080/"地址。每当有请求到来时,就会将请求放入线程池中处理。在处理请求的函数中,可以读取请求中的数据,并回复响应。
阅读全文