• http.sys的简单应用


       //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("收到开台请求	" + DateTime.Now.ToLocalTime());
            //            btnKT_Click(null, null);
            //        }
            //        if (request.QueryString["flag"] == "dc")
            //        {
            //            //添加请求回显信息 
            //            this.listShow.Items.Add("收到点菜请求	" + DateTime.Now.ToLocalTime());
            //            btnDC_Click(null, null);
            //        }
            //        if (request.QueryString["flag"] == "cash")
            //        {
            //            //添加请求回显信息 
            //            this.listShow.Items.Add("收到收银请求	" + 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();
            //    }
            //}
  • 相关阅读:
    Extjs 集合了1713个icon图标的CSS文件
    Sencha Touch 2 DataView / List 分页
    Sencha Touch 笔记
    [奉献]通过命令快速启动应用程序的小软件(QuickLauncher V1.1)
    PTC FlexPLM rfa 接口自动创建产品规格
    Excel Vba 调用WebService的两种方式,解决MSSOAP30 64位不兼容问题
    Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块
    C#获取远程图片,需要Form用户名和密码的Authorization认证
    [转]plsql不安装oracle客户端 进行远程连接
    WPF、Silverlight程序编码资料收集
  • 原文地址:https://www.cnblogs.com/gaocong/p/8746276.html
Copyright © 2020-2023  润新知