哪位大神帮解决一下啊?到底哪里不对啊?recvfrom返回值总是-1. 10

 我来答
wyb10a10
2013-03-28 · 超过15用户采纳过TA的回答
知道答主
回答量:163
采纳率:0%
帮助的人:56.4万
展开全部
recvfrom 返回-1表示接收数据失败,一般有两种情况会失败,当接收缓冲区小于对方发送的数据时,缓冲区无法接收这个包,recvfrom失败,另外一种,传入的参数有问题,例如socketaddrlength,或者socket句柄有问题,这些都会直接返回-1,不会有任何阻塞
_936671727
2017-09-22
知道答主
回答量:13
采纳率:0%
帮助的人:4.3万
展开全部
最近也碰到udp协议recvfrom函数返回指为-1,使用WSAGetLastError()函数,错误代码是10014,含义如下:
如果指向的无效的内存区域
返回: -1
错误号:10014(系统检测到在一个调用中尝试使用指针参数时的无效指针地址)。
检查自己代码发现recvfrom存储接收数据的指针应该是一个合理的地址,而我用的是char * data = NULL,没有初始化就直接把data指针给到了recvfrom函数,因此出错。改为char data[1024]就可以了,“1024”根据自己的需要,足够大就行。
感觉加一句WSAGetLastError()查看错误代码,对调试很有帮助。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天文学将
2013-01-12 · TA获得超过1090个赞
知道答主
回答量:155
采纳率:0%
帮助的人:81.8万
展开全部
自己动脑,自给自足
追问
废话
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式