recv işlevi bekleyen bir iş parçacığı nasıl kesilir?
size_t recvLen = recv(sock, buf, 512, 0);
bunu kesintiye ile bu konuyu sonlandırmak istiyorum:
ben recv işlevini asılı bir soket dinleyici var. MSDN diyor:
böyle recv gibi bir engelleme Winsock çağrı verilirken, Winsock çağrı tamamlamak için önce bir ağ olayı için beklemeniz gerekebilir. Winsock aynı iş parçacığı üzerinde planlanan bir asenkron yordam çağrısı (APC) tarafından kesilebilir, bu durumda, bir Duyurulabilir bekleme gerçekleştirir.
Bunu nasıl yapabilirim?
Bir APC'yi iş parçacığına kuyruğa sokarak closesocket'ı kullanın; bu, soketin kapalı olması nedeniyle bir hatayla geri dönmesine neden olur. – paulm