//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的简单应用的更多相关文章

  1. MySQL sys Schema 简单介绍-2

    之前在<MySQL sys Schema 简单介绍-1>中简单的介绍了,sys Schema库中的表.那么这些表都可以查询些什么信息呢?接下来本文将做下介绍. 1. 表的情况 1.1 统计 ...

  2. python sys.argv[]简单解释

    上一篇UDP编程中简单使用了一些sys模块的argv参数,也是我第一次看见这个参数,这里做个记录: sys.argv是一个从程序外部获取参数的桥梁,这个“外部”很关键, 因为我们从外部取得的参数可以是 ...

  3. MySQL sys Schema 简单介绍-1

    参考文档: MySQL- 5.7 sys schema笔记 MySQL 5.7新特性:SYS库详解 MySQL Performance Schema&sys Schema介绍 内存分配统计视图 ...

  4. [Python爬虫]cnblogs博客备份工具(可扩展成并行)

    并发爬虫小练习. 直接粘贴到本地,命名为.py文件即可运行,运行时的参数为你想要爬取的用户.默认是本博客. 输出是以用户名命名的目录,目录内便是博客内容. 仅供学习python的多线程编程方法,后续会 ...

  5. python剑指网络篇一

    #coding:utf-8 __author__ = 'similarface' #!/usr/bin/env python import socket #二进制和ASCII互转及其它进制转换 fro ...

  6. 解压vmlinuz和解压initrd(initramfs)

    有时就算只得到一个Linux kernel的rpm包或者直接是编译后的vmlinuz和initrd的binary文件,也需要了解其中的一些细节,可能需要去查找这些binary有没有将我想要的patch ...

  7. win7(64bit)python相关环境模块搭建

    包括Python,eclipse,jdk,pydev,pip,setuptools,beautifulsoup,pyyaml,nltk,mysqldb的下载安装配置. **************** ...

  8. 简化 Django

    http://www.oschina.net/translate/simplifying-django 尽管Django的流行和普及, 一些开发者仍然认为她是一个过时的web开发框架, 仅仅适合内容丰 ...

  9. python基础(三)编码,深浅copy

    编码,深浅copy encode,decode在python2中使用的一些迷糊,python3中更容易理解 要理解encode和decode,首先我们要明白编码,字符和二进制的相关概念,简单来说,计算 ...

随机推荐

  1. Ubuntu14.04 64bit 编译安装nginx1.7+php5.4+mysql5.6

    我的操作系统是Ubuntu14.04,其它linux系统的操作流程类似. 主要安装的软件是nginx1.7+php5.4+mysql5.6 1. 创建必要目录 sudo mkdir ~/setup s ...

  2. openfire 发送 接受 注册 广播 好友列表 在线状态

    package cn.zsmy.utils.openfire; import java.io.BufferedReader; import java.io.InputStreamReader; imp ...

  3. GNU make简介

    引言 接触开源项目有一段时间了,对自动化编译工具一直很好奇.近期有时间正好整理下GNU make.后续可以深入了解下. 本文主要整理GNU make的学习的基本资料,同时简要介绍make的功能.语法. ...

  4. C# 去除json字符串key引号

    采用正则表达式去除: 方法 /// <summary> /// 去除json key双引号 /// </summary> /// <param name="js ...

  5. 将目录下面所有的 .cs 文件合并到一个 code.cs 文件中,写著作权复制代码时的必备良药

    将目录下面所有的 .cs 文件合并到一个 code.cs 文件中,写著作权复制代码时的必备良药 @echo off echo 将该目录下所有.cs文件的内容合并到一个 code.cs 文件中! pau ...

  6. Python如何下载文件

    转载自:http://www.codecho.com/how-to-download-a-file-in-python/ 利用程序自己编写下载文件挺有意思的.Python中最流行的方法就是通过Http ...

  7. C#学习笔记(21)——C#获取文件夹下的所有文件的文件名

    说明(2017-7-30 23:11:59): 1. 文件处理老是忘,学的不扎实. 2. 路径用Directory,文件名用file. 3. 我也推荐用第二种方法,可以拿到文件的所有信息,比如扩展名什 ...

  8. Eigen教程(9)

    整理下Eigen库的教程,参考:http://eigen.tuxfamily.org/dox/index.html Eigen并没有为matrix提供直接的Reshape和Slicing的API,但是 ...

  9. CPP_异常处理

    错误处理:C分散的就近处理:C++集中处理. C++错误处理机制:函数实现中若出现错误想处理,用throw抛出异常.应用程序中,用try...catch...捕获异常处理. 异常按类型捕获:int, ...

  10. [转载]番茄时间管理法(Pomodoro Technique):一个番茄是如何让你工作更有效率的

    如果你经常读一些关于提高工作效率或时间管理类的博客,一定听说过番茄时间管理法(Pomodoro Technique).这是一种极好的帮助你集中注意力.获得更高工作效率的方法. 基本上,它的实施方法是这 ...