zoukankan      html  css  js  c++  java
  • C# Socket 您的主机中的软件中止了一个已建立的连接 An established connection was aborted by the software in your host machine

    http://tieba.baidu.com/p/3223234493

    问题:

    服务端在接收客户端数据的时候,抛了个异常出来:
    System.Net.Sockets.SocketException: 您的主机中的软件中止了一个已建立的连接。   //An established connection was aborted by the software in your host machine
    在 System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 size, SocketFlags socketFlags)
    在 NetWorkingSerivce.ReceiveThread.ReceiveData(Object userstart) 位置 f:个人项目NetWorkingSerivceNetWorkingSerivceReceiveThread.cs:行号 53

    解答:

    玩几天我刚编了一个局域网内多线程文件传输的程序,是winform的。也遇到过你的问题。

    如果你的服务器端(文件接收方)Receive数据时,关闭了客户端(文件发送端)就会强制关闭连接,就会出现上面的错误提示。

    建议你在接收完数据后退出死循环不要让Receive函数阻塞住,关闭客户端(文件发送端)前建议发送一个消息告诉服务器端(文件接收方)“我要断开连接了”,然后两方都关闭连接close。

    服务端在接收客户端数据的时候,得到了ConnectionAborted的异常

    而服务端在遇到这个异常的时候,会主动关闭和客户端的连接

    之后,服务端再使用这个socket向外发送数据的时候,就会出现“您的主机中的软件中止了一个已建立的连接”

    this socket connection was aborted 

    也可能是序列化错误导致的问题,类的某个属性上需要DataMember这个Attribute

  • 相关阅读:
    nginx 配置优化(简单)
    Nginx 安装
    Smokeping安装教程
    test [ ] 四类
    if语句中的判断条件(nginx)
    力扣 1431. 拥有最多糖果的孩子 python
    力扣 1672. 最富有客户的资产总量+1512. 好数对的数目 python
    力扣 剑指 Offer 58
    力扣 8. 字符串转换整数 (atoi)python--每日一题
    力扣 7. 整数反转python 每日一题
  • 原文地址:https://www.cnblogs.com/chucklu/p/5421246.html
Copyright © 2011-2022 走看看