C# HttpListener 开发服务器示例

本文介绍了一个简单的HTTP服务器的创建过程,包括初始化服务器、设置监听URL、处理客户端请求及响应等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     private static HttpListener listener;
  
       public static void demo()
        {
            if (listener == null)
            {
                listener = new HttpListener();
                var url = "http://+:9876/";
                listener.Prefixes.Add(url);
                listener.Start();
                listener.BeginGetContext(MainProcess, null);
            };
        }
  
        private static void MainProcess(IAsyncResult ar)
        {
            var context = listener.EndGetContext(ar);
            listener.BeginGetContext(MainProcess, null);
            var response = context.Response;
            response.AddHeader("Server""My Server V0.0.1");
            var request = context.Request;
            var path = request.Url.LocalPath;
            if (path.StartsWith("/") || path.StartsWith("\\"))
                path = path.Substring(1);
            var sb = new StringBuilder("输入请求:");
            sb.AppendLine(path);
            var visit = path.Split(new char[] { '/''\\' }, 2);
            if (visit.Length > 0)
            {
                var cmd = visit[0].ToLower();
                sb.AppendLine(string.Format("执行命令:{0}", cmd));
                sb.AppendLine(string.Format("另外有{0}个参数", visit.Length - 1 + request.QueryString.Count));
            }
            sb.AppendLine(DateTime.Now.ToString());
            response.ContentType = "text/plain;charset=UTF-8";
            var result = Encoding.UTF8.GetBytes(sb.ToString());
            using (var stream = response.OutputStream)
            {
                stream.Write(result, 0, result.Length);
            }
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值