在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
方法來處理不同的請求和路徑。