一台机器上有两个(或多个)套接字客户端连接

我有一个简单的node.js客户端和服务器程序运行在一台机器上,当我尝试与客户端程序的第二个实例同时连接到服务器时,我得到EADDRINUSE, Address already in use错误。 是否可以在同一台机器上有两个或多个基于TCP的套接字客户机连接(使用createConnection创build)到一个服务器(使用createServer创build),或者只有一个客户机程序可以同时连接到服务器?

是的,这是可能的。 事实上, 常见。 许多应用程序打开数十个或数百个连接到同一台服务器。 这听起来像你的客户端程序绑定在一个端口上。 只有服务器应该绑定在一个端口上。 你应该validation。

客户端通常使用由您的操作系统分配的1024-65535之间的随机端口。 你不需要担心。 由于客户端正在启动到服务器的连接,因此服务器端口对于一个程序必须是唯一的。 这就是为什么你的问题意味着你试图启动服务器两次。 请参阅http://www.tcpipguide.com/free/t_TCPIPClientEphemeralPortsandClientServerApplicatio.htm