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)


相关推荐

发表回复

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

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