5hell 发表于 2012-9-11 07:53:43

关于socket数据阻塞的问题

环境:Linux+C
描述:在网络通讯时,recv函数前有个sleep延时,但是,服务器一直在给客户端发送数据,当延时结束后,recv会接收很多数据,导致segment fault。
问题:如何能及时清空缓存区呢?
请教高人解答~~

TQ-lkp 发表于 2012-9-11 09:15:39

setsockopt() 设置 TCP_NODELAY参数
未试验

5hell 发表于 2012-9-11 10:05:31

TQ-lkp 发表于 2012-9-11 09:15 static/image/common/back.gif
setsockopt() 设置 TCP_NODELAY参数
未试验

还是不行啊,是不是得用多线程解决呢?

TQ-lkp 发表于 2012-9-15 08:58:24

本帖最后由 TQ-lkp 于 2012-9-15 08:59 编辑

你具体的应用我不清楚,但可以解决段错误的问题,就是你读的时候,接收数据的数组要处理好
延时的你用来干嘛,可以用select来判断是否有数据要接收

change2046 发表于 2012-9-17 19:35:51

本帖最后由 change2046 于 2012-9-17 19:36 编辑

这是“段错误”吗?
如果是的话,肯定是内存读写有问题,仔细检查代码吧
页: [1]
查看完整版本: 关于socket数据阻塞的问题