S2403下挂2台计算机无法建立WINSOCK TCP连接问题的处理
现象描述
某公司使用S2403做局域网连接,有一个应用程序如下:2台计算机要使用VC中Winsock控件编写的Client/Server模式的应用程序建立TCP连接,客户端和服务器端应用程序进行通信。出现的问题是:2台计算机使用HUB连接,该应用程序可以正常进行通信。但是假如使用S2403连接这2台计算机的话,2台计算机之间可以PING通,但是该应用程序无法进行正常通信,而无法完成业务功能。
告警信息
无。
原因分析
1、S2403的端口故障和设置错误以及计算机的设置错误。
2、高层的应用软件可能本身有问题。
3、用户计算机的网卡兼容性不好,导致在进行协商的过程中有一些问题。
处理过程
1、经过检查发现,S2403的设置为缺省的出厂配置,端口状态也正常。使用HUB进行连接,程序可以进行通信。
2、经了解,用户使用的Winsock控件版本比较低,用户说实验过用高版本的控件,程序可以正常通信。但是用户不能使用高版本的控件对程序进行修改。
3、抓包发现使用低版本的控件时,服务器端在收到客户端发起的连接请求后,回送的确认连接的包,没有源地址和目的地址。
4、检查S2403端口状态发现,其中一台计算机连接的S2403的端口状态为全双工,端口“PAUSE”属性为disable,此项是一个只读项不可以修改,是在全双工方式下的一种流量控制方式。由此可以判定是用户的网卡的设置,或者是网卡的兼容性问题。
5、建议用户更换网卡,或者更换计算机。用户实施后,问题最终解决。
建议与总结
这是一个比较典型的设备互通兼容性问题。碰到这样的问题的大致处理步骤:
1、首先检查是不是S2403上面做的设置导致的问题。
2、用户网卡的相关设置不正确造成的问题。
3、高层软件的设计缺陷造成的问题。
4、用户的网卡驱动程序或者网卡本身的问题。