当前位置: 技术问答>linux和unix
linux下socket的send函数阻塞问题?
来源: 互联网 发布时间:2016-04-05
本文导语: 在ubuntu建立一个tcp的client的socket,向tcp的server发送数据,由于server处理速度有限,接收速度小于发送速度,client的send函数就不停的发送数据,丝毫没有阻塞的意思,过一会,机器就好像内存不足的状态,慢慢死机了 ...
在ubuntu建立一个tcp的client的socket,向tcp的server发送数据,由于server处理速度有限,接收速度小于发送速度,client的send函数就不停的发送数据,丝毫没有阻塞的意思,过一会,机器就好像内存不足的状态,慢慢死机了
请问如何将send函数设置为阻塞的,就是当tcp的缓冲区写满时,send函数就不发送,等待tcp的socket发送掉一部分数据再发送并返回?
请问如何将send函数设置为阻塞的,就是当tcp的缓冲区写满时,send函数就不发送,等待tcp的socket发送掉一部分数据再发送并返回?
|
你的问题是应该服务端程序有问题,而不是 阻塞 的问题.
建议你在 send 完以后, 加一个休眠时间, 减缓发送速度.
建议你在 send 完以后, 加一个休眠时间, 减缓发送速度.
|
send 和 recv 默认就是阻塞 的。
|
应该不是send的问题,而是你程序别的地方有内存泄露之类的问题!
Send本身就是阻塞的...
Send本身就是阻塞的...
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。