社区
Linux/Unix社区
帖子详情
send()一直发送数据,过了一段时间出现阻塞,是什么原因呢?
wjh19870407
2010-09-07 09:12:27
服务端send() 视频流数据, 手机接收, 过了一段时间 send 卡住 ,手机端也收不到数据了, 这可能是什么原因
是缓冲区满了?还是什么原因,怎样解决
...全文
454
6
打赏
收藏
send()一直发送数据,过了一段时间出现阻塞,是什么原因呢?
服务端send() 视频流数据, 手机接收, 过了一段时间 send 卡住 ,手机端也收不到数据了, 这可能是什么原因 是缓冲区满了?还是什么原因,怎样解决
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
快乐田伯光
2010-09-07
打赏
举报
回复
服务器端跟客户端都用top查看一个系统资源状态。
一个可能是手机性能不行,服务器端发大量的数据,而手机不能及时接收。
另一个可能是网络环境不时拥堵或中断。
wjh19870407
2010-09-07
打赏
举报
回复
补充一下,是TCP的, 如果一直卡在send() 不管服务端和接收端, 过几分钟自动又正常发送了 , 这是什么问题呢? 为什么卡住
wwwunix
2010-09-07
打赏
举报
回复
是TCP还是UDP,应该不是接收太慢的原因(因为接收端收不到数据了)。
感觉是网络环境不好,造成发送端一直在重发。
用户 昵称
2010-09-07
打赏
举报
回复
应该是请求的时候再发。
mymtom
2010-09-07
打赏
举报
回复
发送送缓冲区满了!
原因是接收端处理速度太慢,或者网络速度太慢。
快乐田伯光
2010-09-07
打赏
举报
回复
tcp还是udp?
关于大数据量
阻塞
式发送卡住的解决方法
通讯客户端使用
阻塞
方式
发送数据
,发送频率较低时,一切正常。 但是频率提高后就会导致
send
函数长时间保持
阻塞
状态。 接收端服务器采用epoll模型,接收缓冲区设成了0。 研究好了好几天没有答案,经过各种尝试之后...
socket在发送
一段时间
数据后
send
卡死问题的解决
近期在对新做的服务器做压力测试时,发现服务端在接收一阵子数据之后便不再响应,不能接收新的连接,也不能接收新的数据。并且服务端接收到的数据个数非常有规律,每次都基本固定。
TCP协议的
send
与recv以及链接的
阻塞
与关闭问题
不管是否
阻塞
,
send
发送的大小,并不代表对端recv到多少的数据.在
阻塞
模式下,
send
函数的过程是将应用程序请求发送的数据拷贝到发送缓存中发送并得到确认后再返回.但由于发送缓存的存在,表现为:如果发送缓存大小比请求...
谈谈IOCP
发送数据
时的一些误区及技巧
send
函数
发送数据
,这是绝对应该避免的,一旦某一个连接传输发生拥塞,或者突然中断而没有通知,调用
send
函数的线程将可能被
阻塞
很长
一段时间
(可能 10 秒或更长),尤其是当服务器同时处理成千上万个连接时,...
关于
send
和
send
to
阻塞
和非
阻塞
模式的底层细节
负责
发送数据
的是
send
或者
send
to,调用这2个函数必然要把
发送数据
的基地址的指针传递进去,由于一般使用的是
阻塞
或者异步通知的I/O模型,没有太注意这个指针指向的内存的是否必须是堆内存,最近在回看以前一个项目的...
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章