我有一台简单的node.js客户端和服务器程序在一台机器上运行,当我尝试同时连接第二个客户端程序实例时,我遇到EADDRINUSE, Address already in use
错误。是否可以在同一台计算机上将两个或多个基于TCP的套接字客户端连接(使用createConnection创建)连接到一个服务器(使用createServer创建),或者只能将一个客户端程序连接到服务器在同一时间?
答案 0 :(得分:3)
是的,这是可能的。事实上,非常常见。许多应用程序向同一服务器打开数十个或数百个连接。听起来您的客户端程序绑定在端口上。只有服务器应该绑定端口。你应该验证。
客户端通常会使用操作系统分配的1024-65535之间的随机端口。你不必担心它。由于客户端正在启动与服务器的连接,因此服务器端口必须对一个程序是唯一的。这就是为什么您的问题表明您尝试启动服务器两次的原因。请参阅http://www.tcpipguide.com/free/t_TCPIPClientEphemeralPortsandClientServerApplicatio.htm