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服务监听域套接字的实际含义,并且浏览器不能访问它。