像 nodejs 写的 tcp 服务可以监听在某个 sock 文件(domain socket) 上,它的 http 服务也能这么干。虽然作为 http 服务连接某个 sock 文件的意义不大,所以这里只算是一个纯粹的尝试。
TCP 服务是这样写
准确说来本文应该是 NodeJS 的 TCP 和 HTTP 监听 Domain Socket 文件。
对于 TCP 监听 Domain Socket 还是很常用的,比如有时对本机的数据库或缓存的访问就会这么做,像用 '/tmp/mysql.sock' 来访问本机 MySQL 服务,这样就不需要启动 TCP 端口暴露出来,安全性有所提高,性能上也有一定的提升。
现在来看看 NodeJS 的 HTTP 监听在 Domain Socket 上, 从经典的例子来改造下
尚不知如何在浏览器中访问以上的 HTTP 服务,所以用 telnet 测试
c
Hello World
0
用 NodeJS HTTP Client 来访问
var options = {
socketPath: '/tmp/node_http.sock',
method: 'GET',
path: '/'
};
var req = http.request(options, function(res){
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.on('data', function (chunk){
console.log(chunk.toString());
});
});
req.end();
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号