node.js
能否监听UNIX套接字?我没有找到任何相关文档。我只看到可以监听专用端口的可能性。
要在node.js中监听传入连接,您需要使用net.server类。
创建此类的实例的标准方法是使用net.createServer(...)
函数。一旦您拥有此类的实例,您可以使用server.listen(...)
函数告诉服务器实际侦听的位置。
如果listen的第一个参数是数字,则nodejs将侦听具有该端口号的TCP/IP套接字。但是,如果listen的第一个参数是字符串,则服务器对象将侦听该路径上的Unix套接字。
var net = require('net');
// This server listens on a Unix socket at /var/run/mysocket
var unixServer = net.createServer(function(client) {
// Do something with the client connection
});
unixServer.listen('/var/run/mysocket');
// This server listens on TCP/IP port 1234
var tcpServer = net.createServer(function(client) {
// Do something with the client connection
});
tcpServer.listen(1234);
app.listen
基本上是一个 帮助函数,所以app.listen("/var/run/mysocket")
同样有效。 - Sam Holmeslisten()
调用之前加上fs.unlinkSync(socketPath);
就解决了。 - gitaarik