用API 的connnect方法
”connect(s,(struct sockaddr*)&ssAddr,sizeof(ssAddr))“时报错,错误代码10038,
请教大虾该怎么处理?
另: INVALID_SOCKET 定义为(SOCKET)(~0) , 是指非0的整数为INVALID_SOCKET吗?
我的代码如下:
int testConnect()
{
WORD wVersionRequested= MAKEWORD( 2, 2 );
WSADATA wsaData;
int err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
printf("error!WSAStartup failed!\n");
return -1;
} SOCKET s;
if(s = socket(AF_INET,SOCK_STREAM,IPPROTO_IP) == SOCKET_ERROR)
{
printf("socket() err: %d\n",WSAGetLastError());
}
if(s == INVALID_SOCKET)
{
printf(" invalid socket ");
}
SOCKADDR_IN ssAddr;
ssAddr.sin_addr.S_un.S_addr = inet_addr("10.89.54.21");//本机IP
ssAddr.sin_family = AF_INET;
ssAddr.sin_port = htons(6666);
if(connect(s,(struct sockaddr*)&ssAddr,sizeof(ssAddr)) == SOCKET_ERROR)
{
printf("connect err:%d\n",WSAGetLastError());
}
return 0;
}
”connect(s,(struct sockaddr*)&ssAddr,sizeof(ssAddr))“时报错,错误代码10038,
请教大虾该怎么处理?
另: INVALID_SOCKET 定义为(SOCKET)(~0) , 是指非0的整数为INVALID_SOCKET吗?
我的代码如下:
int testConnect()
{
WORD wVersionRequested= MAKEWORD( 2, 2 );
WSADATA wsaData;
int err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
printf("error!WSAStartup failed!\n");
return -1;
} SOCKET s;
if(s = socket(AF_INET,SOCK_STREAM,IPPROTO_IP) == SOCKET_ERROR)
{
printf("socket() err: %d\n",WSAGetLastError());
}
if(s == INVALID_SOCKET)
{
printf(" invalid socket ");
}
SOCKADDR_IN ssAddr;
ssAddr.sin_addr.S_un.S_addr = inet_addr("10.89.54.21");//本机IP
ssAddr.sin_family = AF_INET;
ssAddr.sin_port = htons(6666);
if(connect(s,(struct sockaddr*)&ssAddr,sizeof(ssAddr)) == SOCKET_ERROR)
{
printf("connect err:%d\n",WSAGetLastError());
}
return 0;
}
解决方案 »
- 关爱汶川灾区
- 谁能救救我,关于old-style formal list?的问题
- [再发][高手共同探讨]问个关于文档结构的问题,请进。
- WTL IE链结拖动的实现 [请ATL/COM/WTL 的开发人员帮帮忙]
- 关于cbuttonst的问题.急ing
- 急!!!!CreateInstance("ADODB.Connection");失败
- 进程出错,如何对系统的出错信息进行处理
- 做过TTS程序的请进
- 寻求大家帮忙解释一下
- 如何添加成员函数?(本人新手,请详解)
- 关于COM组件不能接受3个参数的问题
- +++++++++++++++++++ 怎么用程序读取QQ 的聊天记录?++++++++++++++++++++++++++++++++++
==指0取反。0xFFFFFFFF
操作试图不是在套接字上进行。它可能是套接字句柄参数没有引用到一个合法套接字,或者
是调用select()函数时,一个fd_set中的成员不合法。
s > 0 , 问题就OK了! Thx all !