zoukankan      html  css  js  c++  java
  • c# HttpListener 使用

    与 IIS 上发布网站相比,使用 HttpListener 编程的程序更加轻量化,易于发布和更新。配合 Thread 或 Task 类也可满足一定的并发。

    https://docs.microsoft.com/zh-cn/dotnet/api/system.net.httplistener?view=netframework-4.7.2

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Net;
    using System.Threading;
    using System.IO;
    //https://docs.microsoft.com/zh-cn/dotnet/api/system.net.httplistener?view=netframework-4.7.2
    
    namespace WebServer
    {
        class Program
        {
            static void Main(string[] args)
            {
                try
                {
                    using (HttpListener listener = new HttpListener())
                    {
                        listener.Prefixes.Add("http://localhost:8888/");
                        listener.Start();
                        Console.WriteLine("开始监听");
                        while (true)
                        {
                            try
                            {
                                HttpListenerContext context = listener.GetContext();//阻塞
                                HttpListenerRequest request = context.Request;
                                string postData = new StreamReader(request.InputStream).ReadToEnd();
                                Console.WriteLine("收到请求:" + postData);
                                HttpListenerResponse response = context.Response;//响应
                                string responseBody = "响应";
                                response.ContentLength64 = System.Text.Encoding.UTF8.GetByteCount(responseBody);
                                response.ContentType = "text/html; Charset=UTF-8";
                                //输出响应内容
                                Stream output = response.OutputStream;
                                using (StreamWriter sw = new StreamWriter(output))
                                {
                                    sw.Write(responseBody);
                                }
                                Console.WriteLine("响应结束");
                            }
                            catch (Exception err)
                            {
                                Console.WriteLine(err.Message);
                            }
                        }
                    }
                }
                catch (Exception err)
                {
                    Console.WriteLine("程序异常,请重新打开程序:" + err.Message);
                }
            }
        }
    }
  • 相关阅读:
    HEVC简介】CTU、CU、PU、TU结构
    HEVC测试序列(百度云网盘分享)
    【HEVC学习与研究】29、解码第一个Coding Quadtree结构(1)
    打印时间
    Linux进程调度和切换过程分析
    调度时机
    非实时进程、实时进程、静态优先级、动态优先级、实时优先级
    linux内核链表分析
    进程上下文和中断上下文
    开发板挂载nfs服务器错误解析
  • 原文地址:https://www.cnblogs.com/aitong/p/11642131.html
Copyright © 2011-2022 走看看