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