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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用Java中间MessageDigest该文本MD5加密(Java中间MD5样品加密算法演示)

    使用Java中间MessageDigest该文本MD5加密(Java中间MD5样品加密算法演示)

    2022年1月9日
  • Jenkins 安装教程

    Jenkins 安装教程Jenkins安装教程Jenkins安装教程说明开始安装JenkinsJenkins安装教程说明安装版本:jenkins-2.149-1.1参考文档:JenkinsWiki文档。安装环境:阿里云服务器ECS系统类型:CentOS7.4开始安装Jenkins安装步骤:准备工作。需要为Jenkins安装一个Java运行环境。根据官网W…

    2022年5月15日
  • Xenu-web开发死链接检测工具应用

    Xenu-web开发死链接检测工具应用Xenu是一款深受业界好评,并被广泛使用的死链接检测工具。时常检测网站并排除死链接,对网站的SEO非常重要,因为大量死链接存在会降低用户和搜索引擎对网站的信任。我们推荐的死链接检测工具Xenu主要具有以下特征:需要下载安装,不到1M大小,用户界面非常简洁,操作简单。检测彻底:能够检测到图片、框架、插件、背景、样式表、脚本和java程序中的链接。报告形式合理多样,死链

    2022年7月23日
  • jmeter 中 Client implementation HttpClient4和java区别实践一

    jmeter 中 Client implementation HttpClient4和java区别实践一好吧,最近还是在折腾Jmeter,在一个post请求中,发现啃爹的竟然带有特殊字符:’怎么办,直接将数据写入,如下:然后在实际用post发请求时,jmeter自动给转义了,如下:xxxx=%27qq%27%3A%2720%27&rrr=%7Bqq%27  怎么办???那就加加转义字符试试,与是,加了”\”,“\\”,“\\\”,“\\\\”都…

    2022年7月22日
  • foreach遍历list删除元素一定会报错?

    list集合平常自以为用的非常熟了,原来只是用add()方法熟练而已,碰到remove一报错就彻底暴露了自己的短板啦。来,给list集合删除某些元素,先上一段代码:   1)报错啦   Listlist=newArrayList();list.add(“1”);list.add(“2”);list.add(“3”)

    2022年4月6日
  • win10开始键没反应解决方法「建议收藏」

    win10开始键没反应解决方法「建议收藏」win10开始键没反应解决方法具体方法如下:1、打开运行窗口。windows7系统:通过“开始”菜单进入。点击“开始”菜单,从打开的菜单中依次点击“所有程序”>“附件”>“运行”来打开“运行”窗口。windows10系统:右击屏幕左下角win标志,在弹出的菜单中找到“运行”,点击进入运行窗口2、在搜索窗口输入“regedit”,打开注册表编辑器。3、在在注册表“HKEY_CLASSES_ROOT”主键下找到“lnkfile”字符串值项。打开它。4、在右侧右击它,会出现一个菜单

    2022年5月4日

发表回复

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

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