0

我有从套接字读取的 C# 代码。不知为何对方没有回应。我坚持使用调试器NetworkStream.Read方法。如果我破坏了调试器,我仍然被困在那里。我想在不终止整个程序的情况下再次建立连接。如何告诉调试器跳过Read

4

1 回答 1

0

您是否在读取时检查数据是否可用?MSDN 上的示例如下所示:

do
{
    numberOfBytesRead = myNetworkStream.Read(myReadBuffer, 0, myReadBuffer.Length);
    // other stuff
}
while(myNetworkStream.DataAvailable);

我想如果没有可用数据,这应该跳过。虽然我没有什么经验,NetworkStream所以也许你面临的问题无论如何都会发生。

如果是这种情况,那么听起来您想让它成为非阻塞调用,以便即使流被阻塞,应用程序也可以继续。(出于多种原因,这可能是一个好主意。)因此,从另一个线程中的流中读取将是可行的方法。你如何去做这件事很大程度上取决于你使用的 .NET 版本。

于 2013-05-30T12:07:55.107 回答