当前位置:  技术问答>linux和unix

TCP问题

    来源: 互联网  发布时间:2017-05-17

    本文导语:  今天遇到一个Linux上TCP通信问题,客户端服务端都在Linux上开发的。 服务端:有两条线程,一条线程一直执行accept函数等待,一条线程一直往外发数据(数据包格式:帧头 数据量 数据); 客户端:接收数据并检测...

今天遇到一个Linux上TCP通信问题,客户端服务端都在Linux上开发的。
服务端:有两条线程,一条线程一直执行accept函数等待,一条线程一直往外发数据(数据包格式:帧头 数据量 数据);
客户端:接收数据并检测错误。

遇到的问题是客户端接收数据偶尔会接收出错,猜想是服务端执行accept函数的线程导致的,故将程序改为连接网络后取消该线程,发现客户端长时间接收数据正常。
证明是执行accept函数的线程导致了数据发送出错,但是这是为什么呢?还请各位帮忙解答一二。

|
不知道你的客户端是否连接后长时间进行while通讯,这样的结果就是一直霸占着资源,中间网络一旦出现问题,比如网口松动,就会导致通讯中断,建议一次通讯后就释放资源,再次通讯时再建立连接。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,