C# HttpListener监听服务

//服务端接收信息

HttpListener listerner = new HttpListener
{
AuthenticationSchemes = AuthenticationSchemes.Anonymous//指定身份验证 Anonymous匿名访问
};
try
{
  listerner.Prefixes.Add("http://127.0.0.1:58392/HttpService/");
  listerner.Start();
}
catch (Exception ex)
{
  Console.WriteLine("NBHttpService服务启动失败..." + ex.Message);

}

while (true)
{

try
{
  //等待请求连接
  //没有请求则GetContext处于阻塞状态
  HttpListenerContext ctx = listerner.GetContext();
  ctx.Response.StatusCode = 200;//设置返回给客户端http状态代码
  //接收POST参数
  Stream stream = ctx.Request.InputStream;
  StreamReader reader = new StreamReader(stream, Encoding.UTF8);
  string data = reader.ReadToEnd();
  Console.WriteLine("收到POST数据:DeviceDataChanged" + (data));
  

  //使用Writer输出http响应代码,UTF8格式
  using (StreamWriter writer = new StreamWriter(ctx.Response.OutputStream, Encoding.UTF8))
  {
    writer.Write(addState.ToString().ToLower());
    writer.Close();
    ctx.Response.Close();
  }
}
catch (Exception ex)
{
  Log.Instance.Error("127.0.0.1:58392/HttpService/ 异常..." + ex.Message);

}

}

posted @ 2021-03-04 13:40  方寸山学习  阅读(554)  评论(0)    收藏  举报