是知道如何清空接收缓冲区

HeShe 2002-11-12 10:07:17
我用recvfrom接受数据,但只要收第一个包就行了,后面的包对我来说都是废包,请问应该如何将接收缓冲里的数据清空?
...全文
126 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaolaoxin 2002-11-12
  • 打赏
  • 举报
回复
这个缓冲区每当有数据进来时就会被填充,即使你用代码清空也是没用的。但是recvfrom()函数是用代码控制的,用自己设定的标志来判断是否是有用的数据。
HeShe 2002-11-12
  • 打赏
  • 举报
回复
int buflen=1024*8;
int optlen=4;
setsockopt(s,SOL_SOCKET,SO_RCVBUF,(char *)&buflen,optlen);
我指的是这里的缓冲区,谢谢。
yanhuahui 2002-11-12
  • 打赏
  • 举报
回复
比如你是这样接收
char = chtemp[1024];
recv(socket,chtemp,1024,0);
memset(chtemp,0,1024);
afantict 2002-11-12
  • 打赏
  • 举报
回复
memset

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧