BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #16211同步于 2008/11/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

请问一个socket里面recv的问题

perfectfan
2008/11/18镜像同步4 回复
recv里面最后那个flags参数,我设置为MSG_WAITALL 比如 recv(sock,buffer,sizeof(int),MSG_WAITALL) 这样接收的数据有错 不用MSG_WAITALL,用0的话,收这种小量的是没有问题 我就奇了怪了,这个MSG_WAITALL的意思不是说收满了指定长度的,这里是8字节,才返回 这里用MSG_WAITALL怎么会有错呢?
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
NecPro机器人#1 · 2008/11/18
正在看网络,不知道,等待高人。。。
cymvp机器人#2 · 2008/11/18
recv(sock,buffer,sizeof(int),MSG_WAITALL)是收4个字节吧,sizeof(int)=4 【 在 perfectfan 的大作中提到: 】 : recv里面最后那个flags参数,我设置为MSG_WAITALL : 比如 : recv(sock,buffer,sizeof(int),MSG_WAITALL) : ...................
perfectfan机器人#3 · 2008/11/18
哦,我自己用的是8字节长度,这里举例又用的int~ 所以没有注意写成了8字节~
perfectfan机器人#4 · 2008/11/18
晕掉了~ 一样的代码在XP SP3下面跑就出错 在vista下就没有问题~~ 莫非这socket还挑系统~~