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("收到开台请求\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();
// }
//}
http.sys的简单应用的更多相关文章
- MySQL sys Schema 简单介绍-2
之前在<MySQL sys Schema 简单介绍-1>中简单的介绍了,sys Schema库中的表.那么这些表都可以查询些什么信息呢?接下来本文将做下介绍. 1. 表的情况 1.1 统计 ...
- python sys.argv[]简单解释
上一篇UDP编程中简单使用了一些sys模块的argv参数,也是我第一次看见这个参数,这里做个记录: sys.argv是一个从程序外部获取参数的桥梁,这个“外部”很关键, 因为我们从外部取得的参数可以是 ...
- MySQL sys Schema 简单介绍-1
参考文档: MySQL- 5.7 sys schema笔记 MySQL 5.7新特性:SYS库详解 MySQL Performance Schema&sys Schema介绍 内存分配统计视图 ...
- [Python爬虫]cnblogs博客备份工具(可扩展成并行)
并发爬虫小练习. 直接粘贴到本地,命名为.py文件即可运行,运行时的参数为你想要爬取的用户.默认是本博客. 输出是以用户名命名的目录,目录内便是博客内容. 仅供学习python的多线程编程方法,后续会 ...
- python剑指网络篇一
#coding:utf-8 __author__ = 'similarface' #!/usr/bin/env python import socket #二进制和ASCII互转及其它进制转换 fro ...
- 解压vmlinuz和解压initrd(initramfs)
有时就算只得到一个Linux kernel的rpm包或者直接是编译后的vmlinuz和initrd的binary文件,也需要了解其中的一些细节,可能需要去查找这些binary有没有将我想要的patch ...
- win7(64bit)python相关环境模块搭建
包括Python,eclipse,jdk,pydev,pip,setuptools,beautifulsoup,pyyaml,nltk,mysqldb的下载安装配置. **************** ...
- 简化 Django
http://www.oschina.net/translate/simplifying-django 尽管Django的流行和普及, 一些开发者仍然认为她是一个过时的web开发框架, 仅仅适合内容丰 ...
- python基础(三)编码,深浅copy
编码,深浅copy encode,decode在python2中使用的一些迷糊,python3中更容易理解 要理解encode和decode,首先我们要明白编码,字符和二进制的相关概念,简单来说,计算 ...
随机推荐
- 使用Python实现Map Reduce程序
使用Python实现Map Reduce程序 起因 想处理一些较大的文件,单机运行效率太低,多线程也达不到要求,最终采用了集群的处理方式. 详细的讨论可以在v2ex上看一下. 步骤 MapReduce ...
- 一个有趣的python排序模块:bisect
今天同事说到了一个python的排序模块bisect,觉得挺有趣的,跟大家分享分享. 先看看模块的结构: 前面五个属性大家感兴趣可以打出来看看数值,这里就不介绍了. 先说明的是,使用这个模块的函数前先 ...
- 使用jQuery清空file文件域的解决方案
使用jQuery清空file文件域的解决方案 var file = $("#file") file.after(file.clone().val("")); f ...
- Redis之 命令行 操作
一.key pattern 查询相应的key (1)redis允许模糊查询key 有3个通配符 *.?.[] (2)randomkey:返回随机key (3)type key:返回key存储的类型 ...
- fzu2158
http://acm.fzu.edu.cn/problem.php?pid=2158 在密室逃脱游戏中,大家被困在一个密室中,为了逃出密室,需要找到正确的数字密码,于是大家分头行动,分别找到了密码的子 ...
- SnowNLP:•中文分词•词性标准•提取文本摘要,•提取文本关键词,•转换成拼音•繁体转简体的 处理中文文本的Python3 类库
SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和Te ...
- java基础篇---异常处理
认识异常 异常时导致程序中断运行的一种指令流,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失,所以在程序的设计中必须考虑各种异常的发生,并正确的做好相应的处理,这样才能保证程序 ...
- Maven 解决 下载项目 compiler 为1.5的问题
在 开发Maven 项目的时候,会发现个问题,就是下载下来的项目默认 compiler 为1.5 ,项目报错. 明明之前开发用的是1.7的啊. 这里只需要在pom.xml确定下就好了. <pro ...
- android中画图类的介绍Path
Paint类相关属性: /** * Paint类介绍 * * Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色, * 样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置 ...
- 火狐FireFox看视频不能全屏显示的问题
问题:最大化/全屏时显示有问题,不能全屏显示,只能看到左上角一部分画面. 解决办法:在画面右键弹出的菜单中选择[设置]——勾选[启用硬件加速].