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();
        //    }
        //}

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • AD原理图设计中如何添加NET CLASS和差分线

    AD原理图设计中如何添加NET CLASS和差分线一,添加NETCLASS由于pcb中可能存在需要设定不同规则的网络组,如果直接在pcb中添加netclass后再进行原理图更新pcb时会自动将netclass删除,所以最好在原理图中设定好。上图是放置NetClass符号的菜单。在原理图中的样子。根据上图所示修改属性和名称。参考使用案例。虚线框中的部分是Blanket,被包围的区域会被设置成同样的属性。更新完之后就可以在pcb这里看到添加的Class了。二,原理图中添加差分线标志作用同样是保证,在更新pcb的时候不会移除。

  • web前端 html+css+javascript网页设计实例 企业网站制作

    web前端 html+css+javascript网页设计实例 企业网站制作(案例源码链接在文章末尾,仅供学习参考)一、在浏览器中的运行结果:二、部分代码1.HTML:<!DOCTYPEhtml><html><headlang=”en”><metacharset=”UTF-8″><title>启乐官网</title><linkrel=”stylesheet”href=”style.css”/><scriptsrc=”myjs.j

  • sprintf函数用法注意事项

    sprintf函数用法注意事项注意字符串格式化时不要,输入和输出参数不要使用同一个字符数组。springt函数处理流程分析:输入和输出参数不同sprintf(str2,“ab%s”,str):输入和输出参数相同sprintf(str,“ab%s”,str):示例#include<stdio.h>intmain(){ charstr[10]=”0123456789″;…

  • 制作zencart模板的几个步骤

    制作zencart模板的几个步骤很多做外贸站的朋友都在为自己的网店模板而头疼不已,本来踌躇满志的要好好做网站,但是当你用网店程序的时候,发现zencart程序里面默认的模板都不怎么好看。于是乎,四处寻找,找了这个想要那个,结果不是不能用就是功能不全。而且最大的威胁就是不安全,万一有个什么其他的代码嵌在里面,你也发现不了。这对于做外贸的你来说是得不偿失的,那么,你是否想要自己做一个你喜欢的模板呢?是不是苦于没有方法呢?易搜今天就来…

  • LAN8720A移植笔记

    LAN8720A移植笔记自己做的f407VE+LAN8720A板子,使用[野火]《LwIP应用开发实战指南》系列中的例程修改,因为野火使用的是F407ZG的芯片,硬件接线图也不一样,所以还需要做一些修改。User/eth/bsp_eth.h中,需要根据自己的硬件连线修改引脚配置。/*Privatedefines————————————–*/#defineET…

  • 悖论软件测试农药

    悖论软件测试农药

发表回复

您的电子邮箱地址不会被公开。

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