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,首先我们要明白编码,字符和二进制的相关概念,简单来说,计算 ...
随机推荐
- EntityFramework安装和EF升级方法
例如:如何在vs2010上安装EntityFramework5.0? 首先,需要安装一个vs插件,名称为NuGet Package Manager,微软官方发布的,其作用就是为vs工程项目自动下载.安 ...
- SAP BI vs. Oracle BI
对比Oracle BI产品和SAP BI 产品,做一些简单的产品功能比较,经供参考. 这里把SAP和Oracle同类的产品放在一行,用于比较. SAP BI 特点 Oracle BI 特点 BW 和S ...
- Hadoop守护进程【简】
[转自]http://xzx4959.blog.163.com/blog/static/47868170201311901848348/ 一般如果正常启动hadoop,我们可以在master上通过jp ...
- LeetCode: Binary Tree Inorder Traversal 解题报告
Binary Tree Inorder Traversal Given a binary tree, return the inorder traversal of its nodes' values ...
- debian下创建新用户useradd
1.使用sudo: sudo useradd -m abc -g sudo -s /bin/bash -d /home/abc sudo passwd abc 2.直接在root用户下: groupa ...
- C#学习笔记(12)——三种方法操作XML
说明(2017-7-11 16:56:13): 原文地址: C#中常用的几种读取XML文件的方法 XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web. ...
- 3. DNN神经网络的正则化
1. DNN神经网络的前向传播(FeedForward) 2. DNN神经网络的反向更新(BP) 3. DNN神经网络的正则化 1. 前言 和普通的机器学习算法一样,DNN也会遇到过拟合的问题,需要考 ...
- bootstrap table 自己设置值
在使用bootstrap table的值默认是从 total rows 里面取,可是后台返回的json数据并不是这样的怎么办 可以使用 responseHandler 自定义: $(function ...
- Spark Shuffle 中 JVM 内存使用及配置内幕详情
本课主题 JVM 內存使用架构剖析 Spark 1.6.x 和 Spark 2.x 的 JVM 剖析 Spark 1.6.x 以前 on Yarn 计算内存使用案例 Spark Unified M ...
- Linux0.11从开机到准备执行main函数的启动学习
最近一直在看操作系统以及内核设计的东西,不确定自己有能力会参与到类似的开发之中,但是争取能自己改造这内核玩一下,然后按照Linux From Scratch那样的把改造后的系统编译运行就心满意足了.正 ...