C\C++中SOCKET问题
intrecv(intsockfd,void*buf,intlen,unsignedintflags);这是SOCKET中的接收数据函数,我想知道,接收的数据放在哪里了。...
int recv(int sockfd, void *buf, int len, unsigned int flags);
这是SOCKET中的接收数据函数,我想知道,接收的数据放在哪里了。 展开
这是SOCKET中的接收数据函数,我想知道,接收的数据放在哪里了。 展开
4个回答
展开全部
当然是放到void *buf中了这四个参数就这一个是内存。
分析一下这四个参数就知道了。
int recv(int sockfd, void *buf, int len, unsigned int flags);
第一个sockfd :socket套接字
第二个void *buf:一个指向数组的指针,或者某个数组的首地址
第三个len:此buf所能收取的字节长度
第四个flags:收取方式标识。 分别为:MSG_OOB MSG_PEEK MSG_TRUNC MSG_WAITALL
具体什么意思自己查查吧。
分析一下这四个参数就知道了。
int recv(int sockfd, void *buf, int len, unsigned int flags);
第一个sockfd :socket套接字
第二个void *buf:一个指向数组的指针,或者某个数组的首地址
第三个len:此buf所能收取的字节长度
第四个flags:收取方式标识。 分别为:MSG_OOB MSG_PEEK MSG_TRUNC MSG_WAITALL
具体什么意思自己查查吧。
展开全部
Socket通讯接收到数据的时候是放在接收缓冲里面,也就是你这里的buf指向的空间里面。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char szRecv[1024+1];
int iRet= - 1, iLen;
iRet = recv(sockid, szRecv, sizeof(szRecv), 0);
int iRet= - 1, iLen;
iRet = recv(sockid, szRecv, sizeof(szRecv), 0);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void *buf
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询