我的winsock程序中的connect返回是10035(wouldblock)???代码如下。请教。。。
WSADATA wsaData;
memset(&dst_addr,'\0', sizeof (struct sockaddr_in));
memcpy((char FAR *)&dst_addr.sin_addr,(char FAR *)hostnm.h_addr,hostnm.h_length);
dst_addr.sin_family = hostnm.h_addrtype;
dst_addr.sin_port = htons(USERPORT);
int iErrorCode;
char chLocalInfo[64];
if (WSAStartup(WINSOCK_VERSION, &wsaData))
{
MessageBeep(MB_ICONSTOP);
MessageBox("Winsock could not be initialized!", AfxGetAppName(), MB_OK|MB_ICONSTOP);
WSACleanup();
return;
}
else
WSACleanup();
if (gethostname(chLocalInfo, sizeof(chLocalInfo)))
{
AfxMessageBox("\nCould not resolve local host!\nAre you on-line?\n");
return;
}
CString csWinsockID = "\n==>>SERVER READY at PORT No. ";
csWinsockID += itoa(m_nServerPort, chLocalInfo, 10);
csWinsockID += "\n";
csWinsockID += wsaData.szDescription;
csWinsockID += "\n";
m_pDoc->m_sockServerAddr.sin_family = AF_INET;
m_pDoc->m_sockServerAddr.sin_addr.s_addr = INADDR_ANY;
m_pDoc->m_sockServerAddr.sin_port = htons(m_pDoc->m_nServerPort);
if (bind(m_pDoc->m_hServerSocket, (LPSOCKADDR)&m_pDoc->m_sockServerAddr, sizeof(m_pDoc->m_sockServerAddr)) == SOCKET_ERROR){}
m_hServerSocket = socket(PF_INET, SOCK_STREAM, DEFAULT_PROTOCOL);
if (m_hServerSocket == INVALID_SOCKET)
{
AfxMessageBox("Could not create server socket.");
return;
}
m_sockServerAddr.sin_family = AF_INET;
m_sockServerAddr.sin_addr.s_addr = INADDR_ANY;
m_sockServerAddr.sin_port = htons(m_nServerPort);
iErrorCode = WSAAsyncSelect(m_hServerSocket, m_hWnd, WM_SERVER_ACCEPT, FD_ACCEPT);
if (iErrorCode == SOCKET_ERROR)
{
AfxMessageBox("WSAAsyncSelect failed on server socket.");
return;
}
SOCKET s1;
iErrorCode=connect(m_pDoc->m_hServerSocket, (LPSOCKADDR)&m_pDoc->m_sockServerAddr, sizeof(m_pDoc->m_sockServerAddr)) == SOCKET_ERROR);
if (listen(m_hServerSocket, QUEUE_SIZE) == SOCKET_ERROR)
{
AfxMessageBox("Server socket failed to listen.");
// m_pParentMenu->EnableMenuItem(ID_SERVER_OPEN, MF_ENABLED);
return;
}
return;