无法连接到本地服务器

我将客户机/服务器应用程序从Linux迁移到Windows,而Linux版本的服务器工作正常,Windows版本不会通过本地主机连接。 当程序尝试协商连接时,我从netstat -a(忽略不相关的行)看到以下内容。

活动连接

  原始本地地址外部地址状态
   TCP 0.0.0.0:9000 mgibson-dev:0 LISTENING
   TCP 0.0.0.0:9002 mgibson-dev:0 LISTENING
   TCP 127.0.0.1:9001 mgibson-dev:0 LISTENING
   TCP [:: 1]:52403 mgibson-dev:9001 SYN_SENT
   TCP [:: 1]:52404 mgibson-dev:9001 SYN_SENT

看来服务器正在尝试通过IPv6进行响应。 这是正常的,它应该工作吗? 我在看问题还是只是一个红鲱鱼?

 TCP [::1]:52404 mgibson-dev:9001 SYN_SENT 

这一行似乎意味着你已经尝试在端口9001上启动到'mgibson-dev'的ipv6连接。SYN_SENT位意味着你已经发射了一个TCP SYN包,但是没有听到回应。

如果你没有在TCP 9001上监听一个ipv6本地主机地址,我最初的猜测就是你有一个防火墙放在某个地方。 通常情况下,如果端口closures,你会期望一个RST包回来,然后知道端口没有打开,并尝试ipv4地址。 由于RST数据包没有通过,它只是挂起等待响应,并最终超时。

简而言之,请检查您的防火墙以允许来自本地主机的所有入站IPv4和ipv6。

那么,服务器没有试图回应,SYN_SENT是一个连接启动状态,所以它是一个客户端。 看起来客户端无法从mgibson-dev主机取回任何东西。 你确定mgibson-devparsing为127.0.0.1吗? 您的服务器应用程序仅在127.0.0.1上进行侦听,可能mgibson-devparsing为任何其他地址,这可能是您的问题的根源。