- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从以下代码获得IOExection
public async Task Register(string handle)
{
// send register handle
using (NetworkStream stream = client.GetStream())
{
await RegisterHandle(stream);
var line = "hello world";
await SendMessage(stream, line);
}
}
public async Task SendMessage(NetworkStream stream, string message)
{
Console.WriteLine("SendMessage(" + message + ")");
await Async.Write(stream, message);
Console.WriteLine("End of SendMessage");
}
System.AggregateException: One or more errors occurred. (Unable to transfer data on the transport connection: An established connection was aborted by the software in your host machine.) ---> System.IO.IOException: Unable to transfer data on the transport connection: An established connection was aborted by the software in your host machine. ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
最佳答案
实际上,所有这些都在文档中进行了详细说明
您需要尝试检查异常消息,并且如果您对连接套接字有控制权,请找出它正在关闭的位置。如果以上都不是,则可能是网络问题,但我首先要进行Occam's razor分析
NetworkStream.Write Method (Byte[], Int32, Int32)
IOException There was a failure while writing to the network.
-or-
An error occurred when accessing the socket. See the Remarks section for more information.
The Write method starts at the specified offset and sends size bytes from the contents of buffer to the network. The Write method blocks until the requested number of bytes is sent or a SocketException is thrown. If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code, and refer to the Windows Sockets version 2 API error code documentation in MSDN for a detailed description of the error.
Check to see if the NetworkStream is writable by accessing the CanWrite property. If you attempt to write to a NetworkStream that is not writable, you will get an IOException. If you receive an IOException, check the InnerException property to determine if it was caused by a SocketException.
关于c# - 使用相同的NetworkStream进行读写时,出现IOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49091232/
我希望有人可以解释这种行为,或者它是否可能是 .NET 中的错误。 由于夏令时而及时向后移动意味着 NetworkStream 不注意其属性 ReadTimeout,并且在此代码的情况下会导致循环旋转
我需要从 NetworkStream 中读取,它会随机发送数据,数据包的大小也会不断变化。我正在实现一个多线程应用程序,其中每个线程都有自己的流来读取。如果流中没有数据,应用程序应该一直等待数据到达。
我编写了以下函数来使用 NetworkStream 的异步读取函数(BeginRead 和 EndRead)实现超时功能。它工作正常,直到我注释掉行 Trace.WriteLine("bytesRea
如果 Internet 上的 B 类网络的子网掩码为 255.255.248.0,那么每个子网的最大主机数是多少?(一) 1022(乙) 1023(三) 2046(D) 2047 任何人都可以告诉我如
我读过一个 Tcp Echo Server 的例子,有些事情我不清楚。 TcpClient client = null; NetworkStream netStream = null; try {
This question already has answers here: NetworkStream.ReadAsync with a cancellation token never canc
我正在使用套接字编写一个简单的聊天程序。当我发送长消息时,随后刷新流和短消息,长消息的末尾会附加到短消息中。它看起来像这样: 发送“aaasdsd” 接收“aaasdsd” 发送“bb” 接收“bba
我目前正在从事一个网络项目,我在其中制定了一个二进制协议(protocol)。我的数据包看起来像这样:[1 字节类型][2 字节索引][2 字节长度][长度字节数据] 这是我接收数据包的代码: Net
我的应用程序打开一个 NetworkStream 和一个 StreamWriter 以将 HL7 消息发送到服务。此服务接收 HL7 消息并始终发回确认。我遇到以下问题:在发送 HL7 消息(有效,我
在同一台计算机上,我有 2 个控制台应用程序。 (客户端向服务器发送文件) 在开始之前,我只想提一下我正在使用这两个 async 函数: 从 NetworkStream 读取: public sta
我正在编写一个简单的客户端-服务器应用程序,在查看 MSDN 文档时,我遇到了一些有趣的流类型... http://msdn.microsoft.com/en-us/library/system.io
早上好 我需要一些建议,我正在使用从 TcpClient 流式传输的 networkStream,一切正常,但后来我需要其他地方的一些功能,这需要关闭流。一旦连接关闭,我似乎找不到重新打开连接的方法。
只是尝试使用 Networkstream,这是我写的一个简单代码: 客户端: TcpClient c = new TcpClient(); c.Connect("10.0
我使用 Moq 和 NUnit 作为单元测试框架。 我写了一个方法,将 NetworkStream 对象作为参数: public static void ReadDataIntoBuffer(Netw
好吧,所以我理解 TCP 是基于流而不是基于消息的整个想法 - 我不关心这个。 我想做的是简单地序列化一些东西,然后通过网络将它发送到另一个使用相同的基于消息的协议(protocol)的应用程序。 问
NetworkStream 从套接字缓冲区读取不应该存在的数据时出现问题。顺便说一句,我正在发送非常大的缓冲区。现在我刚刚在本地主机上进行测试。 这是我读取数据的方式,前 4 个字节包含消息的长度,然
我使用 TcpClient 和 NetworkStream 为我们的游戏创建了一个简单的持久套接字连接。正常连接、发送消息和断开连接(退出应用程序/服务器关闭/等)都没有问题。 但是,我遇到了一些问题
有问题的数据是一个 PNG 文件,前缀为 int 大小。 -Sending: ns.Write(BitConverter.GetBytes((int)data.Length),0,4); ns.Wri
NetworkStream.DataAvailable 是否知道发送方的发送缓冲区是否为空?或者它只是简单地指示接收方的读取缓冲区是否有数据?我的假设是后者... 具体来说,对于一些涉及正在进行的对话
我有一个类,它包装了一个 Stream 实例,所以我可以用它来包装 FileStreams 和 NetworkStreams。现在,我想测试流是否仍在传递任何数据,换句话说,我想测试 NetworkS
我是一名优秀的程序员,十分优秀!