C++实现http简易代理服务器
我正在做与你同样的工作,我选择了mongoose,一款开源的http服务器。
http://codegooglecom/p/mongoose/
这是它的网站,可以下载源码,并且协议非常自由。
有不明白之处可以联系我。我正在基于mongoose进行开发。
=========================================
源码在这里可以下载到,http://codegooglecom/p/mongoose/downloads/list
我也只是一个c程序员,不太会网络编程。但用mongoose的确非常简单,因为就是c++写的,你应该看起来不费劲。
用windows自带的IIS即可搭建http与ftp服务器。
搭建方法主要有以下大步骤,其中2~4步为核心内容:
1创建FTP账户
2添加IIS功能
3添加并设置HTTP与FTP服务器
4设置防火墙
5测试FTP上传及HTTP访问
此内容较长,由于知道版副有限,具体图文教程请阅:wwwwinbizcn/zh_cn/NewsDetail/42/772html
这是一个真实的HTTP请求的例子,其中每一行都以\r\n结尾。由于我们写的是简单的服务器,所以我们只关心其中的几行。
第一行称为请求行,GET是请求方法,表示获取资源,除此之外还有POST方法、PUT方法、HEAD方法、DELETE方法和OPTIONS方法等。由于我们写一个简单的服务器,所以暂时仅支
持GET方法。/是URI,表示客户希望访问的资源的URI。HTTP/11是HTTP协议的版本,此例中表示11版本。我们需要解析请求行,需要解析出方法字段、URI和HTTP协议版本。
第二行是Host字段,表示所请求的资源所在的主机名和端口号。
第三行User-Agent是客户的浏览器的类型,此例是运行在Ubuntu上的Firefox浏览器。
第四行Accept表示客户接受的资源的类型。
第四行Accept-Language表示客户接受的语言类型。
第五行Connection表示服务器在发送完客户请求的数据之后是否断开TCP连接。keep-alive表示不断开,close表示断开。
1Nodejs安装包及源码下载地址为:https://nodejsorg/en/download/
Git下载地址为:https://git-scmcom/download/win。
2按照安装提示操作即可,选择安装路径、npm。
3环境变量默认C:\Users\Administrator\AppData\Roaming\npm\node_modules。
创建新的变量
创建方法:我的电脑>属性》高级系统设置》环境变量》,创建名NODE_PATH,值为nodejs的当前安装目录。
命令行工具是运行在当前计算机用户下的,所以开头总是C:/Users/XXX/Desktop>,而不会跟你的nodejs安装的位置有关。
安装node后,在cmd里有两种模式,开发模式和命令行模式,要进入开发模式直接输入node回车即可,此时可以输入代码,比如require ("express"),如果直接在命令行模式下输入require类的语句是会报错的,提示'require'不是内部或外部命令,也不是可运行的程序或批处理文件。从开发模式退出可用exit命令也可以用快捷捷,ctrl+D或两次ctrl+C
4创建应用
我们先创建一个项目目录,目录可自己定义,本案例的目录为 e:/node/serve。
由于我们要搭建的是服务器,所以我把第一个文件命名为serverjs。
在serverjs里面输入以下代码:
const http = require('http');//实例化“http”
const hostname = '127001';
const port = 3000;
const server = httpcreateServer((req, res) => {
resstatusCode = 200; //状态值200:OK
ressetHeader('Content-Type', 'text/plain'); //内容类型:text/plain
resend('Hello World\n'); //响应结果“hello world”
});
serverlisten(port, hostname, () => { //实现监听
consolelog(`Server running at http://${hostname}:${port}/`);
});
5应用执行
打开git命令行,输入cd e:/node/serve/
之后输入node servicejs
0条评论