getaddrinfo()是不是和版本有关啊?
我的问题如下:
在XP SP2下调试成功的程序,在比较老的xp系统中运行就会出错,实际上是很简单的几段语句,程序如下:
memset(&hints,0,sizeof(hints));
hints.ai_family=AF_INET6;
hints.ai_socktype=SOCK_RAW;
hints.ai_flags=0;
hints.ai_protocol=IPPROTO_ICMPV6;
rc=getaddrinfo(szRemoteAddress,szRemotePort,&hints,&res);//generate IPv6 address.
if(rc==WSANO_DATA)
{
//error handling.
printf("Error when use getaddrinfo\n");
return -1;
}
使用的是VC6.0. SDK之类的已经全部设好,但是运行了getaddrinfo()之后出错,错误类型是10044
socket type not supported,为什么会这样呢? 是不是在老的系统中不能建立原始套接字呢?
怎么有人说在sp2下不能建立原始套接字呢? 嘿嘿 我的情况正好相反。
还有就是: 为什么在老的系统中每次设置了vc的directories 之后,再次打开调试的时候就又改成最开始的状态了, 不会这么菜吧? 谢谢高手解答!!
问题点数:50、回复次数:1Top
1 楼jacklzw88(不可爱咯)回复于 2006-06-02 10:02:50 得分 50
你是sdk是MS_Platform_SDK_Feb_2003吗?最好用最新的sdk,支持是肯定支持的。
Declared in Ws2tcpip.h.
Declared in Wspiapi.h on Windows 2000, Windows NT, and Windows Me/98/95.
Top




