我有两个通过TCP进行通信的应用程序,这两个应用程序都在Windows XP计算机上运行。客户端是第三方应用程序,我只有可执行文件,没有源代码。它连接的服务器的IP地址在文本配置文件中设置。服务器是我正在编写的应用程序。
所有网络掩码均为255.255.255.0。
在所有情况下,客户端都运行在192.168.142.202。
我看到的情况是,如果我在192.168.142.207上运行我的服务器,一切正常,但如果我将我的服务器移动到同一子网上的另一台机器(192.168.142.105),一切都不能正常工作。具体来说,连接似乎没有正确建立。我已经看过Wireshark发生了什么,并希望请求协助我所看到的内容。
在服务器端,我看到3次握手:SYN,SYN / ACK,ACK。我在return()的返回时没有得到错误代码,netstat显示已建立的连接。
在客户端,似乎没有正确建立连接。这会导致客户端定期重新连接,并且偶尔也会关闭因此而创建的所有未正确连接的套接字。当我在Wireshark中查看客户端时,我经常看到SYN,SYN,SYN模式,而不是预期的3次握手。有时,3次握手会出现,但即便如此,客户似乎对连接不满意,因为它会关闭它。
我会注意到客户端和服务器之间实际上有两个TCP连接。另一个连接(即不是我上面描述的有问题的连接)工作得很好。有问题的连接有监听端口5004;良好的连接有监听端口1234。
我已经在此链接中放置了客户端和服务器Wireshark捕获的.txt和.pcap版本:https://skydrive.live.com/redir.aspx?cid=c5beaf58ac752bb0&resid=C5BEAF58AC752BB0!105&parid=root
就物理网络设置而言,在有效的情况下,客户端和服务器之间有一个交换机,如果不起作用,客户端和服务器之间有两个交换机。所有ping测试都是成功的。没有涉及无线连接;一切都是有线的。
所有防火墙都已关闭。
是否有人对问题是什么或我可以收集哪些更多数据来解决问题有任何想法?
答案 0 :(得分:0)
好吧,看来这根本不是网络或网络编程问题。我通过反复试验发现,连接到我的第三方软件希望它运行的机器的IP地址比我的软件运行的机器小。这对我来说似乎完全是武断的,但从经验上看,情况似乎非常强烈。 Arghhhh ............
感谢所有可能花时间仔细研究我提供的Wiresharks转储...