http.sys的简单应用

http.sys的简单应用//publicvoidRun()//{////httpListener提供一个简单,可通过编程方式控制的Http协议侦听器。此类不能被继承。//if(!HttpListener.Is

大家好,又见面了,我是你们的朋友全栈君。

   //public void Run()
        //{
        //    //httpListener提供一个简单,可通过编程方式控制的Http协议侦听器。此类不能被继承。
        //    if (!HttpListener.IsSupported)
        //    {
        //        //该类只能在Windows xp sp2或者Windows server 200 以上的操作系统中才能使用,因为这个类必须使用Http.sys系统组件才能完成工作
        //        //。所以在使用前应该先判断一下是否支持该类
        //        this.listShow.Items.Add("Windows xp sp2 or server 2003 is required to use the HttpListener class");
        //    }
        //    //设置前缀,必须以‘/’结尾
        //    string[] prefixes = new string[] {
        //        "http://localhost:8888/server/",
        //        "http://127.0.0.1:8888/server/",
        //        "http://"+NetWorkHelp.GetIntranetIP()+":8888/server/"
        //         //,"http://"+NetWorkHelp.GetPublicNetworkIP()+":8888/server/"
        //    };
        //    //初始化监听器
        //    HttpListener listener = new HttpListener();
        //    //将前缀添加到监听器
        //    foreach (var item in prefixes)
        //    {
        //        listener.Prefixes.Add(item);
        //    }
        //    //判断是否已经启动了监听器,如果没有则开启
        //    if (!listener.IsListening)
        //    {
        //        listener.Start();
        //    }
        //    //提示
        //    this.listShow.Items.Add("服务已经启动,监听 http://localhost:8888/server  " + DateTime.Now.ToLocalTime());
        //    while (true)
        //    {
        //        //等待传入的请求,该方法将阻塞进程,直到收到请求
        //        HttpListenerContext context = listener.GetContext();
        //        //取得请求的对象
        //        HttpListenerRequest request = context.Request;
        //        //根据请求分配处理方法
        //        if (request.QueryString["flag"] == "kt")
        //        {
        //            //添加请求回显信息 
        //            this.listShow.Items.Add("收到开台请求\t" + DateTime.Now.ToLocalTime());
        //            btnKT_Click(null, null);
        //        }
        //        if (request.QueryString["flag"] == "dc")
        //        {
        //            //添加请求回显信息 
        //            this.listShow.Items.Add("收到点菜请求\t" + DateTime.Now.ToLocalTime());
        //            btnDC_Click(null, null);
        //        }
        //        if (request.QueryString["flag"] == "cash")
        //        {
        //            //添加请求回显信息 
        //            this.listShow.Items.Add("收到收银请求\t" + DateTime.Now.ToLocalTime());
        //            btnCash_Click(null, null);
        //        }
        //        //取得响应对象
        //        HttpListenerResponse response = context.Response;
        //        //构造响应内容
        //        //准备发送到客户端的网页
        //        var json = new ResponseMsg()
        //        {
        //            datetime = DateTime.Now.ToLocalTime(),
        //            success = true
        //        };
        //        IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
        //        timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
        //        string responseBody = JsonConvert.SerializeObject(json, Formatting.Indented, timeFormat);
        //        //设置响应头部内容,长度及编码
        //        response.ContentLength64 = System.Text.Encoding.UTF8.GetByteCount(responseBody);
        //        response.ContentType = "application/json; Charset=UTF-8";
        //        //输出响应内容
        //        Stream output = response.OutputStream;
        //        StreamWriter sw = new System.IO.StreamWriter(output);
        //        sw.Write(responseBody);
        //        sw.Dispose();
        //    }
        //}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154834.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • httpclient4 请一定设置超时时间

    httpclient4 请一定设置超时时间httpclient4的设置方式和httpclient3有所不同,代码如下:HttpClienthttpclient=newDefaultHttpClient();httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,Config.20000);//连接时间20shttp

    2022年7月22日
    10
  • matlab自带的插值函数interp1的四种插值方法

    matlab自带的插值函数interp1的四种插值方法分段线性插值,临近插值,球面插值,三次多项式插值!!

    2022年6月14日
    29
  • 贝叶斯网络分析软件Netica

    贝叶斯网络分析软件Netica贝叶斯网络分析软件Netica使用方法软件介绍Netica软件是由NORSYSsoftwarecorp.出品,是目前世界上应用最广泛的贝叶斯网络分析软件,以简单、可靠、高效的目的开发软件。它是世界上著名的大公司、政府机构作为决策工具,广泛应用于商业、工程、医药和生态分析。软件界面软件打开界面如下,功能栏中很多功能键都是灰色的,此时不能用。左下角的Neticamessages会记录在Netica里面的操作过程。首先进行贝叶斯网络分析,需要构建网络network,方法有3种:File–New

    2022年6月21日
    44
  • Spring 的循环依赖:真的必须非要三级缓存吗?

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:青石路 www.cnblogs.com/youzhibing/p/14337244.html 写作背景 做 J…

    2021年6月28日
    85
  • 如何辨认正版mt4_真假鉴别软件

    如何辨认正版mt4_真假鉴别软件在全球零售外汇行业,外汇经纪商使用最多的还是俄罗斯迈达克公司的MT4交易平台,一些不合规的外汇经纪商也对MT4十分热衷,这使市场上几千块一个的盗版MT4日益猖獗,致使一部分交易者因此遭受一些不必要的利益侵害。那么MT4。fOrex6。cc的特点是什么?如何判别一个MT4软件是否是盗版?今天就带你们辨别真假MT4.MT4的优势1.强大的工作表现MT4强大的工作表现,这一点是毋庸置疑的。MT4自2005年7月1日推出以来,就不断的获得市场的认可。下单灵活、界面友好、交易直观等这些都是MT4平台成为外汇市场

    2022年4月19日
    71
  • mysql 如何修改用户密码_MySQL如何更改用户密码

    mysql 如何修改用户密码_MySQL如何更改用户密码在MySQL中,可以使用3种不同的语句更改用户帐户密码:1、UPDATE2、SETPASSWORD3、ALTERUSER但在更改帐户密码之前,应记住两件非常重要的事情:1、要更改密码的用户帐户详细信息。2、正在更改密码的用户正在使用该应用程序,因为如果在不更改应用程序的连接字符串的情况下更改密码,则应用程序将无法连接到数据库服务器。现在让我们学习如何使用上面提到的三个SQL语句在SQL中更改用…

    2022年6月29日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号