C# 实现一个简单的 HTTP 服务器
发布时间:2020-12-15 17:56:04 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 using System;using System.IO;using System.Net;using System.Text;using System.Threading; class MainClass { private static int maxRequestHandl
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 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(); } } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SliverAppBar 介绍及使用
- iphone – UITabBarItem.title与UINavigationController.ti
- 毕业 – 消息“依赖包装来定义主要工件的扩展是什么意思”是
- 8种Nosql数据库系统对比
- cocos2dx 3.2 解决触摸事件中两个按钮同时响应的问题
- Swift将文档文件写入/保存/移动到iCloud驱动器
- uboot下的nand flash驱动分析
- 【Cocos2dx】飘字特效与碰撞检测
- Fusioncharts使用setDataURL()正确setDataXML()出现"In
- 单元测试 – NUnit [TearDown]失败 – 访问我的文件有什么进