在我的程序中我創建套接字和whes客戶端連接我創建新線程並嘗試讀取和寫入/連接到此套接字,但一直得到一個讀取錯誤,因爲主機關閉第二個命令的連接,第一個來自客戶端worfs的命令正常,第三個可以正常工作。我嘗試檢查clientSocket是否連接,以及networkStream是否可讀,並且它們一直返回true。我該如何解決這個問題?它怎麼可能 - networkStream.CanRead返回true,但networkStreamRead引發錯誤?我是C#和套接字編程的新手,所以對於愚蠢的問題感到抱歉。C#套接字讀取錯誤
clientSocket
是TcpClient
networkStream
是NetworkStream
if (clientSocket.Connected == true)
{
requestCount = requestCount + 1;
networkStream = clientSocket.GetStream();
if (networkStream.CanRead == true)
{
networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize);
dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom);
}
}
clientSocket.ReceiveBufferSize的值是什麼? bytesFrom足夠大以接受這麼多字節? – 2010-08-19 03:25:14
>> networkStream.CanRead返回true,但networkStreamRead引發錯誤? 請給出錯誤的詳細信息。 – Dagang 2010-08-19 04:00:51