Кажется, я получаю это всегда, когда пытаюсь получить данные в этом сокете. Сокет является действительным сокетом, и соединение также установлено, и всегда есть данные, которые периодически поступают в конкретный порт. Но кое-как функция recv дает эту ошибку. Любая идея, что может быть причиной.
образец кода, представленного ниже.
заранее спасибо
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