无法使用分配的物理IP地址在同一台计算机上建立TCP连接

时间:2014-11-19 04:19:49

标签: tcp tcpclient

我遇到了一个奇怪的问题,即使用分配的物理IP地址无法在同一台机器上建立TCP连接。

我注意到了这个问题,因为像HornetQ这样的第三方软件无法通过同一台机器上的本地JMS客户端与其JMS服务器建立TCP连接。

因此,我编写了一个简单的Java测试程序来缩小根本原因。然后我发现如果TCP服务器使用分配的物理IP地址打开任何端口,则TCP客户端无法使用相同的IP地址和端口连接到服务器。

但是,如果我在TCP客户端中使用回顾IP地址而不是分配的物理IP地址,则可以连接到TCP服务器。

我现在非常困惑,因为我的网络工程师说如果尝试建立的TCP连接在同一台机器上,那么它不应该是任何网络问题,因为包没有开箱即用。

机器的网卡(机器是HP服务器)是否可能被破坏?感谢您的时间和建议。

1 个答案:

答案 0 :(得分:0)

如果TCP服务器绑定到特定的本地IP:端口,本地客户端 CAN 连接到同一本地IP:端口就好了。更糟糕的情况是,在连接到服务器之前,可能必须明确地将客户端绑定到同一IP,以防操作系统尝试使客户端使用不具有到达服务器的路由的其他默认IP。服务器的IP。但是,一个体面的操作系统应该足够智能,以识别目标IP是本地的,并确保在隐式绑定客户端时使用相同的IP。