c# 实现http简易服务端

启动监听模式

            // 本机服务
            string localUrl = "http://+:9001/check/";//配置监听地址。+代表本机可能的IP如localhost、127.0.0.1、192.168.199.X(本机IP)等;
            // 超时时间
            this.timeout = 1500;

            this.httpListener = new HttpListener();
            // 匿名身份验证
            this.httpListener.AuthenticationSchemes = AuthenticationSchemes.Anonymous;
            // 监听本机服务
            this.httpListener.Prefixes.Add(localUrl);

            // 接收连接本机服务的请求
            this.httpListener.Start();
            // 委托线程启动
            this.listenThread = new Thread(new ThreadStart(delegate
            {
                try
                {
                    loop(this.httpListener);
                }
                catch (Exception)
                {
                    this.httpListener.Stop();
                }
            }));
            this.listenThread.IsBackground = true;
            this.listenThread.Start();

侦听处理:

 #region 侦听处理
        // 侦听处理
        private void loop(HttpListener httpListener)
        {
            while (true)
            {
                HttpListenerContext context = httpListener.GetContext();
                HttpListenerRequest hRequest = context.Request;
                HttpListenerResponse hResponse = context.Response;

                if (hRequest.HttpMethod == "POST")
                {
                    StreamReader reader = new StreamReader(hRequest.InputStream, Encoding.UTF8);
                    string data = reader.ReadToEnd();
                    richTextBox1.Text += data + "\r\n";//将接受到的消息进行显示

                    string json = "";//返回的消息内容
                    byte[] res = Encoding.UTF8.GetBytes(json);
                    hResponse.OutputStream.Write(res, 0, res.Length);
                    //关闭输出流,释放相应资源
                    hResponse.OutputStream.Close();
                }
            }
        }
        #endregion
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值