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,首先我们要明白编码,字符和二进制的相关概念,简单来说,计算 ...
随机推荐
- linux中chmod与chown两个命令详解
在linux系统中chmod,chown命令都可以来设置权限了,但它们也是有区别的,下文小编为各位介绍chmod与chown两个命令用法与区别介绍. 今天要分享的2个命令也是我们平时常用的,chmod ...
- 基于jquery结婚电子请柬特效素材
分享基于jquery结婚电子请柬特效素材总共包含3个部分,第一部分是开着小轿车缓缓进入场景,第二部分是相册,第三部分是祝福墙.效果图如下: 在线预览 源码下载 实现的代码. html代码: < ...
- [转]Oracle SQL函数pivot、unpivot转置函数实现行转列、列转行
原文地址:http://blog.csdn.net/seandba/article/details/72730657 函数PIVOT.UNPIVOT转置函数实现行转列.列转行,效果如下图所示: 1.P ...
- spring security 注解@EnableGlobalMethodSecurity详解
1.Spring Security默认是禁用注解的,要想开启注解,需要在继承WebSecurityConfigurerAdapter的类上加@EnableGlobalMethodSecurity注解 ...
- ython strip lstrip rstrip使用方法
Python中的strip用于去除字符串的首尾字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符. 这三个函数都可传入一个参数,指定要去除的首尾字符. 需要注意的是,传入的是一 ...
- JDK 5.0 注解的使用
了解注解 在编写代码时,除了源程序以外,我们还会使用Javadoc标签对类.方法或成员变量进行注解,以便使用Javadoc工具生成和源代码配套的Javadoc文档. /** * 重写toString ...
- centos 6.4 x86_64 (minimal) 编译安装percona
下载Percona-Server-5.5.24-26.0 wget https://www.percona.com/downloads/Percona-Server-5.5/Percona-Serve ...
- python3.6使用mysql
因为MySQLdb不支持python3,需要导入pymysql 可以选择pip 安装pymysql,或者pycharm安装 [File] >> [settings] >> [P ...
- C语言 · 递归倒置字符数组
算法提高 递归倒置字符数组 时间限制:1.0s 内存限制:512.0MB 问题描述 完成一个递归程序,倒置字符数组.并打印实现过程 递归逻辑为: 当字符长度等于1时,直接返回 否则, ...
- JVM相关命题的博客整理及总结
JVM垃圾回收基础介绍 http://www.jianshu.com/p/57457a351b8a 减少JVM中逃逸对象的使用 http://www.importnew.com/23150.html ...