首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

TCP / IP数据包接收出现间断,接收不到数据

2013-12-09 
TCP/ IP数据包接收出现中断,接收不到数据最近做的项目遇到一个问题,不知道原因出在哪,希望哪个熟悉的人给

TCP / IP数据包接收出现中断,接收不到数据
最近做的项目遇到一个问题,不知道原因出在哪,希望哪个熟悉的人给解答一下。
项目是一个通过TCP/IP协议进行网络数据包传送,前端有个下位机进行数据采集,每一个下位机分配一个IP地址。发送数据包到IP为10...,端口为4000的服务器。服务器端的上位机软件接收数据包,并解析、处理。


现在遇到一个问题,就是上位机软件在接收数据包的时候,过段时间会出现部分前端的下位机发送过来的数据包接收不到。然后我在服务器端,主动去ping接收不到数据包的下位机,显示:第一次ping  连接超时。之后就会显示连接正常
TCP   / IP数据包接收出现间断,接收不到数据


网络状况是采用局域网,网络不是很稳定,偶尔会出现网络中断。 网络 上位机 下位机 数据包
[解决办法]
链路都端了,数据包不恢复是正常的。你是用Socket发包的话,Socket在accept以后就建立了一个链路,网端了以后这个链路就没有了,当然就接不到包了,所以你要对网络不稳定的情况进行处理,2楼说的UDP是一个办法,就是发出去就完事,你也不管接没接到,但是我觉得最好的办法是,你可以写个Timer,网络断开以后Socket会抛异常,你可以在Client端捕获这个异常,然后定时去建立连接,比如10分钟一次,当再次建立上的时候,再继续发数据。如果数据量大的话,你还要判断,是不是数据发到一半异常了,做个断线重发的机制。

热点排行