我想空讀所以我寫後續碼插座的緩衝...如何在不阻塞的情況下調用NetworkStream.Read()?
byte[] tempBuffer = new byte[1024];
int readCount = 0;
while ((readCount = tcpSocket.GetStream().Read(tempBuffer, 0, tempBuffer.Length)) != 0)
{
// do with tempBuffer
}
但Read()方法被阻塞,所以我說tcpSocket.ReceiveTimeout = 1;。它和以前一樣工作。
據我所知,這通常用於C++。我怎麼解決這個問題?
你是什麼意思直接使用**功能**?沒有那個靜態成員函數。請讓我看看一些代碼。 – 2009-06-18 01:19:21
這是沒有靜態功能。如果您已閱讀我提供的MSDN鏈接,則會看到這是NetworkStream對象上的一個方法。既然你沒有提供你的`tcpSocket`變量的實際類型,我不得不從你的其他文本中猜測。 – 2009-06-18 07:58:08
我不確定你在說什麼。 OP實際上是通過`tcpSocket.GetStream()`使用NetworkStream對象。 – danyim 2011-09-20 16:11:24