2012-09-21 34 views
2

我试图执行这个脚本:Node.JS:重新使用套接字?

require('net').createServer().listen('/tmp/test'); 

第一次脚本运行成功,但在第二次创业的Node.js抛出错误:错误:听EADDRINUSE

有什么办法重用插座(也是unix和tcp)?

回答

0

呵呵?

节点已经在监听'tmp/test',它将如何再次监听它?

就像你不能允许两个应用程序在一个端口上监听一样,SOCKET也是如此。一个人只能被一个人允许。

+2

其实你可以。与SO_REUSEPORT [1]一样,这就是Node.js集群模块如何工作以实现负载平衡。 [1] - https://lwn.net/Articles/542629/ –

1

显然你的脚本/侦听/服务器从第一个调用仍在运行。您必须杀掉正在侦听的脚本/进程才能再次使用相同的端口。

+0

即使节点不再运行,也会出现此错误,只要手动删除Unix域套接字 – Perseids