今天我一个哥们让我帮他调试下程序,说一个普通网络通讯程序总丢包;我问他是TCP还是UDP,他说是TCP,我纳闷;经过我的了解,发现原来他的程序不是TCP丢包,而是,TCP链接出现问题,不能长时间保持长链接状态;
程序是这样的:
客户端为普通pc;服务器端为他们的嵌入式设备;
我问了他的需求,发现他传输速度要求不高,大概100B/s的样子;后来我就建议他使用短链接;发现短链接能够很好的工作,不过有些包需要发送两次;
出现以上情况的原因,我认为可能是以下两个方面:
1,网络不太稳定,硬件方面的问题;
2,他的嵌入式设备系统的网络驱动有问题,不能长时间保持长链接状态;
至于具体是什么原因,还有待于进一步研究;