那个我用recv来接收数据,我应该怎么判断他接收完了呢???

汗晕倒 2010-08-25 02:03:32
一旦接收完了,再次运行recv他就会自动阻塞了,没有返回,怎么去判断它接收完了呢。
我主要想加个时间函数,看看接收的时间是多少。。。
...全文
255 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mudunke775 2010-08-25
  • 打赏
  • 举报
回复
接受的每个消息后,获取系统时间,传到线程外,这样每条信息就有时间了
lyrzhlgq 2010-08-25
  • 打赏
  • 举报
回复
使用select吧,至于是否收全了,是自己在tcp层做的定义的包格式所决定的。
Shrek_MyCpp 2010-08-25
  • 打赏
  • 举报
回复
1. windows有WSAAyncSelect函数,支持异步通讯,自动触发网络事件,包括FD_READ。
2. 每次接收,判断recv的返回值和你预期的值是否相等。
  • 打赏
  • 举报
回复
用IOCP多简单的,嘻嘻..
csucdl 2010-08-25
  • 打赏
  • 举报
回复
recv之前, 先select一下 查询一下状态啊
冻结 2010-08-25
  • 打赏
  • 举报
回复
发送数据到时候把要发送到字节大小先发过去。
接受到时候先接收字节大小,在桉大小接受数据。
  • 打赏
  • 举报
回复
换异步IO操作吧。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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