我有一个服务器在127.0.0.1 and 18 local clients
上的某个端口上侦听,并尝试同时连接到它。
经过一个小时左右的持续连接后,其中一个客户端无法连接(我使用C函数connect(),失败时返回-1)并且WSAGetLastError
返回{ {1}}表示“拒绝连接”。
我读到出现此错误的一个可能原因是服务器没有在正确的端口上侦听,但是在我尝试连接的同一刻,我将10061
命令行输出打印到文件中,我可以看到服务器正在侦听正确的端口。
此外,当我尝试重新连接或从另一个应用程序连接时,我成功了。 你们中的任何人都知道即使服务器正在监听,客户端连接失败的原因可能是什么?
顺便说一句,我正在netstat -an
上运行。
答案 0 :(得分:0)
你的问题有点模糊。但是当你运行netstat -ab
时,你会看到听力服务。如果IP地址为127.0.0.1
,则服务仅侦听来自本地计算机的连接。如果IP地址为0.0.0.0
,则它正在侦听传入连接的所有IP地址。如果它显示的IP地址不是127.0.0.1
或0.0.0.0
,则它仅侦听该IP地址上的连接。
因此,如果您有18个远程客户端连接到正在侦听本地IP地址的服务器,则客户端将无法连接,因为服务器未远程侦听连接。