zoukankan      html  css  js  c++  java
  • boost::asio网络传输错误码的一些实验结果(recv error_code)

    错误码很重要,可以由此判断网络连接到底发生了神马事情,从而驱动高层逻辑的行为。只有笼统的错误码判断的网络层是不够规范的,鄙人觉得有些错误码还是需要在网络层就区分开的,特此记录一些当前实验的错误码以及发生原因。

    以下是一部分在async_receive()的handler处捕获到的比较有用的错误码

    错误码(十进制) 枚举 发现原因
    10009 boost::asio::error::bad_descriptor 在一个已经关闭了的套接字上执行async_receive()
    995 boost::asio::error::operation_aborted 正在async_receive()异步任务等待时,本端关闭套接字
    10054 boost::asio::error::connection_reset 正在async_receive()异步任务等待时,远端的TCP协议层发送RESET终止链接,暴力关闭套接字。常常发生于远端进程强制关闭时,操作系统释放套接字资源。
    2 boost::asio::error::eof 正在async_receive()异步任务等待时,远端关闭套接字,这里跟10054发生的情况似乎一样,但是实际上应该是有区别的,具体神马区别,由回复中jack的说法,这个是远端正常关闭套接字。

    只是一些浅陋的测试,目前觉得有用的也就是这几个,不正确的地方请送我鸡蛋。

  • 相关阅读:
    C# WCF的POST请求包含Stream及多个参数
    C# Fakes
    C# 计算文件的MD5
    C# 获取计算机的硬件、操作系统信息
    整数拆分
    整数拆分问题的四种解法【转载】
    python爬虫
    【转载】Scrapy安装及demo测试笔记
    Python野生库
    【转载】python3安装scrapy之windows32位爬坑
  • 原文地址:https://www.cnblogs.com/lidabo/p/3797200.html
Copyright © 2011-2022 走看看