C# 实现一个简单的 HTTP 服务器
2018-07-20 来源:open-open
using System; using System.IO; using System.Net; using System.Text; using System.Threading; class MainClass { private static int maxRequestHandlers = 5; private static int requestHandlerID = 0; private static HttpListener listener; private static void RequestHandler(IAsyncResult result) { try { HttpListenerContext context = listener.EndGetContext(result); StreamWriter sw = new StreamWriter(context.Response.OutputStream, Encoding.UTF8); sw.WriteLine("<html><head><title>C# </title>"); sw.WriteLine("</head><body>" + result.AsyncState); sw.WriteLine("</body></html>"); sw.Flush(); context.Response.ContentType = "text/html"; context.Response.ContentEncoding = Encoding.UTF8; context.Response.Close(); } catch (ObjectDisposedException) { Console.WriteLine(result.AsyncState); } finally { if (listener.IsListening) { listener.BeginGetContext(RequestHandler, "RequestHandler_" + Interlocked.Increment(ref requestHandlerID)); } } } public static void Main(string[] args) { using (listener = new HttpListener()) { listener.Prefixes.Add("http://localhost:8080/"); listener.Start(); for (int count = 0; count < maxRequestHandlers; count++) { listener.BeginGetContext(RequestHandler, "RequestHandler_" + Interlocked.Increment(ref requestHandlerID)); } Console.WriteLine("Press Enter to stop the HTTP Server"); Console.ReadLine(); listener.Stop(); listener.Abort(); } } }
标签: isp
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:php在指定字符串中查找子字符串
下一篇:Java代码生成图片验证码实现
最新资讯
热门推荐