遇到一个关于socket的问题
情况是这样的,我在XP系统中用VS写了一个ping测试程序,编译通过,并且能正常运行,但是debug文件放到win7中就不能运行,显示socket创建失败。这是什么原因,缺少什么库?(部分win7也可以正常运行)求解答
int socket_init()
{
intres;
inttimeout = 100;
WSADATA wsaData;
//启动WINDOWS SOCK,版本1.0
if(WSAStartup( MAKEWORD( 1, 0 ), &wsaData ) != 0)
{
MessageBox("Window Socket 初始化失败!");
return FALSE;
}
//创建SOCKET
// AF_INET:协议族为TCP/IP
//SOCK_RAW:原始方式(直接与IP层交换数据)
//IPPROTO_ICMP:子协议类型
m_socket = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
if(m_socket == INVALID_SOCKET)
{
MessageBox("创建 Socket 失败!");
return -1;
}
// 设置选项:接受超时为100ms
res = setsockopt(m_socket,SOL_SOCKET,SO_RCVTIMEO,(char*)&timeout,sizeof(timeout));
if(res == SOCKET_ERROR)
{
MessageBox("设置接受超时为100ms 失败!");
}
timeout = 1000;
// 设置发送超时为1000ms
res = setsockopt(m_socket,SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout,sizeof(timeout));
if(res == SOCKET_ERROR)
{
MessageBox("设置发送超时为100ms 失败!");
}
return 1;
}
socket windows win7 类 vs
[解决办法]
人气、人气啊,
楼主,我来接分了