這是不好的編程?這是不好的編程?
DateTime dtExpire = DateTime.Now.AddSeconds(90);
while (client.Connected && DateTime.Now < dtExpire)
{
if (client.Available == 0) continue;
//or can also use: if (!networkStream.DataAvailable) continue;
dtExpire = DateTime.Now.AddSeconds(30);
//now do stuff with client via stream
}
確保客戶端不會比服務器花費更多時間的目標是願意等待傳入消息。當然,這段代碼位於Try/Catch塊以及Using Stream塊中,因此服務器將正常處理丟棄的連接或任何其他套接字異常。
基本上,我只是想知道是否有更好的方法來處理這個問題。謝謝。
這與TCP無關,除了一些與實際問題無關的模糊網絡操作。請從您在此處使用的語言開始重新編號(c#?) –
您想要做什麼? – Ekk
這可能會更好的代碼審查 – TMB