मैं अपने सॉकेट को गैर-अवरुद्ध करने के लिए ioctlsocket() फ़ंक्शन का उपयोग कर रहा हूं लेकिन जब मैं recvfrom() को कॉल करता हूं, तो मुझे त्रुटि 10035 (WSAEWOULDBLOCK
) मिलती है।recvfrom() त्रुटि 10035 गैर-अवरुद्ध सॉकेट का उपयोग कर
u_long mode = 1;
ioctlsocket(newSocketIdentifier, FIONBIO, &mode);
while(1)
{
if((recv_len = recvfrom(newSocketIdentifier, receiveBuffer, sizeof(receiveBuffer), 0, (struct sockaddr *) &clientSocket, &clientSocketLength)) == SOCKET_ERROR)
{
char err[128];
itoa(WSAGetLastError(),err,10);
MessageBox(NULL,"Could not Receive Data",err,MB_ICONINFORMATION);
BREAK;
}
}
क्या कोई यह समझा सकता है कि ऐसा क्यों होता है? :(
I/O कॉल विफल हो सकते हैं। क्या आप वाकई * सफल * सॉकेट को गैर-अवरुद्ध बनाने के रूप में सफल हैं? – unwind
यदि वर्तमान में कोई डेटा उपलब्ध नहीं है तो आपको गैर-अवरुद्ध सॉकेट पर WSAEWOULDBLOCK मिल जाएगा। यह सामान्य व्यवहार है। –