Linux如何清空Socket缓冲区

[复制链接]
查看11 | 回复1 | 2013-10-11 13:00:39 | 显示全部楼层 |阅读模式
还有就是用recv读取,但是由于不知道缓存里有多少数据,如果是阻塞模式,到最后必然等到超时才知道数据已经读取完毕,这是个问题。另一个是用fgetc,通过返回判断是否是feof:whlie (1) { a=fgetc(f);if (feof(f)) break;//b=fgetc(f);if (feof(f)) break;//}当然,我不知道读取完毕后最后一次调用fgetc会不会堵塞,需要测试。在非阻塞模式下,我们用recv就可以轻松搞定了,但是阻塞模式下,由于我们不知道缓冲区有多少数据,不能直接调用recv尝试清除。使用一个小小的技巧,利用select函数,我们可以轻松搞定这个问题:select函数用于...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行