如何判断SOCKET底层是否还有数据?

yyt_yang 2011-11-13 10:39:18
作为后端在和前端连接后,前端向后端发送消息,采用长连接,由于前端发送的消息头里面没有消息长度,后端在接受时很麻烦,由于后端接受时申请的内存有限,需要先接收一部分,把这些消息处理完后再去接收数据,但这个时候不知道底层是否还有数据,不知道能否根据receive返回值来判断,希望大家多给些提示。
...全文
147 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xumaojun 2011-11-13
  • 打赏
  • 举报
回复
同意楼上,select判断套接字是否可读
smwhotjay 2011-11-13
  • 打赏
  • 举报
回复
select之
yyt_yang 2011-11-13
  • 打赏
  • 举报
回复
如果调用select后,要是有数据,系统会重新触发一次onreceive吗,谢谢大家回帖。
来灵 2011-11-13
  • 打赏
  • 举报
回复
select + FD_ISSET 进行判断
lijianli9 2011-11-13
  • 打赏
  • 举报
回复
select WSAAsyncSelect WSAEventSelect,都很方便知道socket是否有数据可读。
使用方法可参考msdn

18,356

社区成员

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

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