Il semble que ce soit toujours le cas lorsque j'essaie de recevoir des données dans ce socket. Le socket est une socket valide et la connexion est également établie et il y a toujours des données qui viennent périodiquement dans le port spécifique. Mais certains comment la fonction recv donne cette erreur. Toute idée de ce que peut être la cause.Obtenir l'erreur WSAEWOULDBLOCK toujours lors de l'appel de la fonction de socket recv() pour la réception de données
exemple de code présent ci-dessous.
merci à l'avance
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)
toujours obtenir d'erreur WSAEWOULDBLOCK
bien j'ai essayé d'assigner dwnonblocking à zéro et ai obtenu une erreur différente WSAEFAULT toujours. une idée – ckv
Avez-vous initialisé pRxBuffer correctement? –