0
我試圖在該套接字中接收數據時,似乎總是得到這個特殊情況。套接字是一個有效的套接字,並且連接也建立,並且有一些數據總是定期進入特定的端口。但是一些recv函數如何給出這個錯誤。任何想法可能是原因。在調用用於接收數據的recv()套接字函數時始終獲取WSAEWOULDBLOCK錯誤
示例代碼如下。
在此先感謝
struct hostent *hdata; // Used when Node name is converted to IP-Address
struct sockaddr_in insock; // Socket address structure
unsigned long ipaddr; // IP-Address in numeric format
CString sIPAddr = _T("1.1.1.1");
char * cSBCS = (char*)sIPAddr.GetBuffer(sIPAddr.GetLength());
ipaddr = inet_addr(cSBCS/*sIPAddr*/);
hdata = gethostbyname(sIPAddr);
insock.sin_family = AF_INET;
insock.sin_port = htons(2101);
memcpy(&insock.sin_addr, *(hdata->h_addr_list), hdata->h_length);
// Create socket
if((m_Socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET);
// return FALSE;
// Connect to MSS-box
if((connect(m_Socket, (struct sockaddr *)&insock, sizeof(insock))) == SOCKET_ERROR)
DWORD dwNonBlocking = -1;
if(ioctlsocket(m_Socket, FIONBIO, &dwNonBlocking))
IF((pdwRxChars =的recv(m_Socket,pRxBuffer,1024,0))== SOCKET_ERROR)
總是讓WSAEWOULDBLOCK錯誤
以及我試着將dwnonblocking分配到零,並總是得到一個不同的錯誤WSAEFAULT。任何想法 – ckv 2009-09-01 08:33:48
您是否正確初始化了pRxBuffer? – 2009-09-01 09:03:08