我有以下代碼:套接字接收卡在環
while (true)
{
recv(server, buffer, BUFFER_LENGTH, 0);
cout << buffer;
}
我期待發生的事情是,當我的客戶端發送數據到服務器爲它接收到的數據,輸出它,然後回去嘗試接收更多的數據,但它實際上從未到達cout線。如果我刪除循環它可以正常工作,爲什麼while循環使RECV永遠不會結束..?
發送代碼:
while (true)
{
cin >> buffer;
send(client, buffer, BUFFER_LENGTH, 0);
}
由於
請提供完整的代碼。另外,是什麼讓你如此確信線路沒有到達?此外,緩衝區似乎是一個'char *'或類似的東西,是什麼讓你認爲它是零終止的,按照'strlen()'的要求來工作? –