Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Stała manifestu SOCKET_ERROR jest udostępniana do sprawdzania błędu funkcji. Chociaż użycie tej stałej nie jest obowiązkowe, zaleca się. Poniższy przykład ilustruje użycie stałej SOCKET_ERROR.
Typowy styl BSD (nie będzie działać w systemie Windows)
r = recv(ClientSocket, recvbuf, recvbuflen, 0);
if (r == -1 /* or r < 0 */
&& errno == EWOULDBLOCK) {
printf("recv failed with error: EWOULDBLOCK\n");
}
Styl systemu Windows
iResult = recv(ClientSocket, recvbuf, recvbuflen, 0);
if (iResult == SOCKET_ERROR ) {
iError = WSAGetLastError();
if (iError == WSAEWOULDBLOCK)
printf("recv failed with error: WSAEWOULDBLOCK\n");
else
printf("recv failed with error: %ld\n", iError);
closesocket(ClientSocket);
WSACleanup();
return 1;
}
Tematy pokrewne
-
kody błędów — errno, h_errno i WSAGetLastError