我想空读所以我写后续码插座的缓冲...如何在不阻塞的情况下调用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