networking - 使用(提升 asio)TCP 套接字:不同的发送速率与接收速率
问题描述
我正在使用 tcp 以 20hz 发送由我的应用程序生成的数据。我看到接收器以不同的速率接收数据包,而是以突发(长和短)的形式接收数据包,突发之间的间隙可变。这是因为 TCP 拥塞控制还是其他原因?我可以改变一些东西以获得更顺畅的交货率吗?
解决方案
正如评论者所说,这是正常的。STREAM 套接字类型正在缓冲。您可以通过设置选项禁用Nagle 算法: https ://www.boost.org/doc/libs/1_73_0/doc/html/boost_asio/reference/ip__tcp/no_delay.htmlno_delay
推荐阅读
- python - 为什么我的 API 模拟补丁不适用于 Python?
- angular - Angular slickgrid 多选编辑器字段需要在按下确定按钮时移除焦点而不更改数据
- python - python请求:为每个请求全局添加http标头
- javascript - 如何在具有嵌套值的交叉过滤器组中使用 .top() 方法
- javascript - 为什么我的 Bootstrap 数据表列标题排序图标不显示?
- spring-boot - 当第一个等待重试时,如何在发起新的响应调用之前取消 WebClient 响应调用
- c# - 比较 2 个相同类型的列表并删除重复项
- generics - 如何将选项传递给可以在 Deserialize::deserialize() 中访问的 Rust serde?
- r - 如何通过输入键在 Shiny 中加入两个反应数据帧?
- php - 在 WooCommerce 4 中以编程方式从自定义产品类型添加新产品