3

我尝试执行此脚本:

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

第一次脚本运行成功,但在第二次启动 node.js 时抛出错误:错误:监听 EADDRINUSE

有没有办法重用套接字(unix和tcp)?

4

2 回答 2

2

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

于 2012-09-22T11:21:20.320 回答
0

“正确”的方式(根据 Node.js 文档)是用 关闭服务器server.close(),这会从文件系统中删除创建域套接字。

因此,如果您再次运行服务器,则不会出现“EADDRINUSE”错误,因为它每次都会重新创建|删除一个新的域套接字。

在 Windows(使用命名管道)上,我们没有这个问题,一旦服务器进程关闭,操作系统会自动删除创建的命名管道

于 2020-05-28T07:35:30.330 回答