C# 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。
2013-03-18 12:42
1256 查看
http://blog.sina.com.cn/s/blog_5f2833390100nked.html
关于客户端断开连接的时候,服务端会catch到一个socketException端口异常提示,无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。此时,如果按以下写法,服务器没法再接收到新的数据
public void TCPStart()
{
try
{
tcpListener = new TcpListener(IPAddress.Parse(publicClass.GetLoaclIP()), TCPlistenerPort);
tcpListener.Start();
while (true)
{
allDone.Reset();
tcpListener.BeginAcceptTcpClient(new AsyncCallback(AcceptCallBack),
tcpListener);
allDone.WaitOne();
}
}
catch (Exception ex)
{
MainForm.NowForm.Invoke(MainForm.NowForm.delegateSetState, new string[] { "Err:" + ex.Message
});
}
}
其实原因很简单,把try写进循环里面就行了,得细心一点才行啊!!
public void TCPStart()
{
tcpListener = new TcpListener(IPAddress.Parse(publicClass.GetLoaclIP()), TCPlistenerPort);
tcpListener.Start();
while (true)
{
try
{
allDone.Reset();
tcpListener.BeginAcceptTcpClient(new AsyncCallback(AcceptCallBack),
tcpListener);
allDone.WaitOne();
}
catch (Exception ex)
{
MainForm.NowForm.Invoke(MainForm.NowForm.delegateSetState,
new string[] { "Err:" + ex.Message });
}
}
}
关于客户端断开连接的时候,服务端会catch到一个socketException端口异常提示,无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。此时,如果按以下写法,服务器没法再接收到新的数据
public void TCPStart()
{
try
{
tcpListener = new TcpListener(IPAddress.Parse(publicClass.GetLoaclIP()), TCPlistenerPort);
tcpListener.Start();
while (true)
{
allDone.Reset();
tcpListener.BeginAcceptTcpClient(new AsyncCallback(AcceptCallBack),
tcpListener);
allDone.WaitOne();
}
}
catch (Exception ex)
{
MainForm.NowForm.Invoke(MainForm.NowForm.delegateSetState, new string[] { "Err:" + ex.Message
});
}
}
其实原因很简单,把try写进循环里面就行了,得细心一点才行啊!!
public void TCPStart()
{
tcpListener = new TcpListener(IPAddress.Parse(publicClass.GetLoaclIP()), TCPlistenerPort);
tcpListener.Start();
while (true)
{
try
{
allDone.Reset();
tcpListener.BeginAcceptTcpClient(new AsyncCallback(AcceptCallBack),
tcpListener);
allDone.WaitOne();
}
catch (Exception ex)
{
MainForm.NowForm.Invoke(MainForm.NowForm.delegateSetState,
new string[] { "Err:" + ex.Message });
}
}
}
相关文章推荐
- C# Socket TcpClient 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。
- WCF分布式开发常见错误(2)无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接
- 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。这个错误很难判断错在哪里,刚开……
- hubbledotnet 远程连接提示:无法从传输连接中读取数据:远程主机强迫关闭一个现有的连接
- WCF分布式开发常见错误(2)无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。
- 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接
- 解决WCF传输大数据量时出错并提示:远程主机强迫关闭了一个现有的连接
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
- System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) .
- 解决WCF大数据量传输 ,System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) .
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
- C#编程UDP通信过程中出现【远程主机强迫关闭了一个现有的连接0x80004005】的解决方法
- 解决WCF传输大数据量时出错并提示:远程主机强迫关闭了一个现有的连接
- System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
- C#编程UDP通信过程中出现【远程主机强迫关闭了一个现有的连接0x80004005】的解决方法
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) ---> System.Data.SqlClient.Sql
- 调用部署在本机IIS服务器的WCF服务并返回数据DataTable,一直报错:远程主机强迫关闭了一个现有的连接,但是服务访问正常