Socket在向服务器端发送字符命令时出现10053错误
Socket编程,send以后recv的错误代码是10053,说是软件引起的,这种错误是怎么回事呢?
MSDN上说:
Software caused connection abort.
An established connection was aborted by the software in your host computer, possibly due to a data transmission time-out or protocol error.
代码:
int main(int argc, char* argv[])
{
WSADATA Data;
if(WSAStartup(MAKEWORD(2,2),&Data)!=0) cout<<"error"<<endl;
SOCKET s;
s=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN sin;
sin.sin_family=AF_INET;
sin.sin_port=htons(1863);
sin.sin_addr.s_addr=inet_addr("65.54.239.140");
connect(s,(sockaddr *)&sin,sizeof(sin));
char* buf="VER 1 MSNP9 CVR0 \r\n";
char result[256];
memset(result,0,256);
send(s,buf,strlen(buf)+1,0);
if(recv(s,result,256,0)!=SOCKET_ERROR)
cout<<result<<endl;
buf="CVR 2 0x0804 win 5.1 i386 MSNMSGR 8.0.0566 MSMSGS wonglaye@21cn.com \r\n";
memset(result,0,256);
send(s,buf,strlen(buf)+1,0);
Sleep(10000);
if(recv(s,result,256,0)!=SOCKET_ERROR)
cout<<"buf is "<<result<<endl;
else
cout<<"error"<<endl;
int error=WSAGetLastError();
cout<<"error code is "<<error<<endl;
}
谢谢各位了~