TCP
服务写成Nodejs可以在袜子
文件监控(域套接字),和HTTP服务可以做同样的事情。虽然连袜子的文件作为一个HTTP服务非常有意义,它不是,它只是一个纯粹的尝试。
TCP服务就是这样写的。
复制代码代码如下所示:
无功网=需要('net);
net.createserver(
功能(插座){)
Socket.on(数据功能(数据){
socket.write('received:+数据);
});
}),听( / / node_tcp TMP。袜子);
将 / / node_tcp sock'above TMP。
复制代码代码如下所示:
Telnet / / node_tcp.sock TMP
努力 / / node_tcp袜子TMP…
连接到(NULL)。
转义字符是}。
你好世界!
收到:你好,世界!
是准确的,这篇文章应该是NodeJS的TCP和HTTP监控域套接字文件。
对于TCP域套接字进行监测,例如,有时在
本地数据库或缓存访问会这么做,就像 / / MySQL的TMP。sock'to访问MySQL服务,所以不需要
启动TCP端口暴露,提高了安全性,
性能也有一定的提升。
现在看NodeJS的HTTP监听器域套接字,从经典的例子
复制代码代码如下所示:
var http =需要('http');
http.createserver(功能(REQ,RES){
res.writehead(200,{ 'content-type:中/平原});
res.end(你好世界');
}),听( / / node_http TMP。袜子);
console.log(在/ tmp / node_http。袜子的
运行'server);
我不知道如何在
浏览器中访问上面的HTTP服务,所以用telnet测试它。
复制代码代码如下所示:
Telnet / / node_http.sock TMP
努力 / / node_http袜子TMP…
连接到(NULL)。
转义字符是}。
获取1.1
HTTP 1.1 200 OK
内容
类型:
文本/普通
日期:星期一,2015年1月26日04:21:09 GMT
联系:保持活力
分块
传输编码:
C
你好世界
零
HTTP请求 / / node_http TMP sock'can
正确处理。
随着Nodejs HTTP客户端访问
复制代码代码如下所示:
var http =需要('http');
var
选项{ {
socketpath: / / node_http TMP袜子,
方法:' ',
路径:
};
无功需求= http.request(选项功能(RES){)
console.log('status:+ res.statuscode);
console.log('headers:+ json.stringify(res.headers));
res.on(数据功能(块){
console.log(chunk.tostring());
});
});
Req.end();
执行上面的代码,如果文件名是http_client.js,
复制代码代码如下所示:
结http_client.js
现状:200
标题:{内容类型)
你好世界
本文只是一个记录,现在您不能期望HTTP服务监听域套接字的实际含义,并且浏览器不能访问它。