2011-11-16 36 views

回答

1

由於插座阻止,我的猜測是,遠端不發送任何東西,WSARecv阻塞在等待數據的到來。

哦,從WSARecv手冊頁:

If both lpOverlapped and lpCompletionRoutine are NULL, the socket in this 
function will be treated as a nonoverlapped socket. 

這意味着,而插座可以重疊,這個調用不會把它當作這樣的,因爲這兩個指針是NULL。您應該使用非阻塞套接字,或使用重疊,但不能同時使用兩者。

+0

好的,如果我做了一個無阻塞的套接字,會有發送和接收問題嗎? – Ershad

+0

@Ershad編輯我的答案。我建議你閱讀參考手冊頁,並正確使用重疊的套接字,並且電話將不再阻止。 –

+0

對不起,我現在明白了。讓我檢查一下。 – Ershad

相關問題