111,120
社区成员
发帖
与我相关
我的任务
分享
System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。 ---> System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接。
在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
在 System.IO.BinaryReader.ReadBytes(Int32 count)
在 System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.Read(__BinaryParser input)
在 System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadSerializationHeaderRecord()
在 System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
在 System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
在 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
在 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, IMethodCallMessage methodCallMessage)
listener = new TcpListener(Ipaddress, Port);
listener.Start();
while (temp)
{
try
{
Socket socket = listener.AcceptSocket();
NetworkStream readStream = new NetworkStream(socket);
BinaryFormatter readBf = new BinaryFormatter();
readMessage = (byte[])readBf.Deserialize(readStream);//抛异常在这里。
sendMessage(readMessage);// 这里起线程来处理消息
}
catch (SocketException sEx)
{
Log4NetUtil.Log4NetU.Log.Debug(sEx.Message, sEx);
}
catch (Exception ex)
{
Log4NetUtil.Log4NetU.Log.Debug("发生异常啦……", ex);
}
}
sendTcpClient = new TcpClient(ipaddress, port);
sendNetworkStream = sendTcpClient.GetStream();
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(sendNetworkStream, message);
sendNetworkStream.Flush();
Thread.Sleep(30000);
sendNetworkStream.Close();
sendTcpClient.Close();