c#如何实现一个简单的webserver

   2024-09-30 4470
核心提示:在C#中,你可以使用HttpListener类来实现一个简单的Web服务器。以下是一个基本的示例:首先,确保你的项目中引用了System.Net.Ht

在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方法来处理不同的请求和路径。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号