复制 IO 异常错误
Replicate IO Exception Error
我希望能够重现以下错误:
IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
关于如何通过发出网络请求然后导致此错误发生来执行此操作的任何想法?
我已经尝试发出 Web 请求并拔下网络电缆,但没有重现错误,我只是想知道如何实现它。
最后一行将产生您的异常。
想法是:创建一个 tcp 侦听器(或 Http 侦听器),然后在不发送有效的 http 响应的情况下关闭连接。
TaskCompletionSource<object> tcs = new TaskCompletionSource<object>();
Task.Run(() =>
{
TcpListener listener = new TcpListener(8080);
listener.Start();
tcs.TrySetResult(null);
while (true)
{
listener.AcceptTcpClient().Close();
}
});
await tcs.Task; //wait till TcpListener is ready
Webclient wc = new Webclient();
var str = await wc.DownloadStringTaskAsync("http://localhost:8080");
我希望能够重现以下错误:
IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
关于如何通过发出网络请求然后导致此错误发生来执行此操作的任何想法?
我已经尝试发出 Web 请求并拔下网络电缆,但没有重现错误,我只是想知道如何实现它。
最后一行将产生您的异常。
想法是:创建一个 tcp 侦听器(或 Http 侦听器),然后在不发送有效的 http 响应的情况下关闭连接。
TaskCompletionSource<object> tcs = new TaskCompletionSource<object>();
Task.Run(() =>
{
TcpListener listener = new TcpListener(8080);
listener.Start();
tcs.TrySetResult(null);
while (true)
{
listener.AcceptTcpClient().Close();
}
});
await tcs.Task; //wait till TcpListener is ready
Webclient wc = new Webclient();
var str = await wc.DownloadStringTaskAsync("http://localhost:8080");