我在C#中有从套接字读取的代码。
由于某种原因,对方没有回应。
我在NetworkStream.Read
方法上遇到了调试器。
如果我打破调试器,我仍然会卡在那里。
我想再次建立连接而不终止整个程序。
如何告诉调试器跳过Read
?
答案 0 :(得分:0)
您在阅读时是否检查数据是否可用?示例on MSDN如下所示:
do
{
numberOfBytesRead = myNetworkStream.Read(myReadBuffer, 0, myReadBuffer.Length);
// other stuff
}
while(myNetworkStream.DataAvailable);
如果没有可用的数据,我想这应该跳过。虽然我对NetworkStream
几乎没有经验,所以也许你遇到的问题无论如何都会发生。
如果是这种情况,那么听起来你想让它成为非阻塞调用,这样即使流被阻止,应用程序也可以继续。 (出于多种原因,这可能是个好主意。)因此,从另一个线程中读取流将是最佳选择。你如何做到这一点取决于你正在使用的.NET版本。