Chinaunix

标题: 非阻塞socket在send时超时 [打印本页]

作者: 冻惨鸟    时间: 2012-07-18 21:48
标题: 非阻塞socket在send时超时
我在应用层有一个发送缓冲区,socket是设置为非阻塞的,大部分情况下没有问题,即使数据超出TCP的缓冲区也会立即返回,但是最近加大了压力,出现send仿佛被阻塞的情况,接受方确实压力大,但是为什么会在send里卡很久时间?内核里有什么情况会导致非阻塞socket的send也要等吗?是因为系统的压力太大了吗?环境是在centos5.7下,每次都是在发送数据包大于100K以上出现。
作者: fengfengdiandia    时间: 2012-07-23 11:48
应该是接收速度小于发送速度,楼主可以在send之后sleep一下,可以得到一定程度的缓解
作者: notsureit    时间: 2012-07-24 10:06
卡很久最终是否能够返回,还是一直堵塞,如果是一直堵塞,很有可能和我之前一样,发送线程本身已经异常退出了,可以对发送线程本身做个join观察下




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2