散分了:IPV6下发送UDP报文的一个问题,请问各位大牛,为何recvfrom在XP环境下总是返回10014,而只能用recv(),可是用recv函数如何获知报文源地址,代码如下:
char sBuf[128];
sockaddr_in6 sa;
in6_addr sa;
int iAddrLen=sizeof( sa );//这样只有24位长,不够长度。所以要改为32,实际收到是28:(
int a=sizeof(sockaddr);
ZeroMemory( &sa, sizeof( sa ) );
memset(&sBuf,0,sizeof(sBuf));
//int iLen = recvfrom(s_send, sBuf, sizeof(sBuf),(struct sockaddr*)&sa, &iAddrLen );//recvfrom在winXP下也不正常而recv就可以,但recv如何获知报文源地址呢?
int iLen = recv(s_send, sBuf, sizeof(sBuf),0);