ZBLOG

eProsima Fast DDS implements TCP transport for both TCPv4 and TCPv6. Each of these transports is independent from the other, and has its own TransportDescriptorInterface. However, they share many of their features, and most of the TransportDescrip...

eProsima Fast DDS 是一种高性能的分布式数据服务,支持通过 TCP(包括 TCPv4 和 TCPv6)进行通信。其实现中,TCP 传输具有独立的传输描述符接口,但它们共享许多特性。以下是该传输的一些共同数据成员及其解释:

  1. sendBufferSize (uint32_t, 默认值: 0)
    发送缓冲区的大小(以字节为单位)。

  2. receiveBufferSize (uint32_t, 默认值: 0)
    接收缓冲区的大小(以字节为单位)。

  3. netmask_filter (NetmaskFilterKind, 默认值: AUTO)
    网络掩码过滤的配置。

  4. allowlist (vector, 默认值: 空向量)
    被允许的接口列表以及网络掩码过滤配置。

  5. blocklist (vector, 默认值: 空向量)
    被阻止的接口列表。

  6. interfaceWhiteList (vector, 默认值: 空向量)
    被允许使用的接口列表。

  7. TTL (uint8_t, 默认值: 1)
    生存时间,即经过的跃点数。

  8. listening_ports (vector, 默认值: 空向量)
    用作服务器监听端口的列表。如果某个端口设置为0,则会自动分配一个可用端口。

  9. keep_alive_frequency_ms (uint32_t, 默认值: 5000)
    RTCP keep alive 请求频率(以毫秒为单位)。

  10. keep_alive_timeout_ms (uint32_t, 默认值: 15000)
    在认为连接已损坏之前,发送上次 keep alive 请求后的超时时间(以毫秒为单位)。

  11. max_logical_port (uint16_t, 默认值: 100)
    在 RTCP 协商过程中尝试的最大逻辑端口数。

  12. logical_port_range (uint16_t, 默认值: 20)
    每个请求尝试的最大逻辑端口数。

  13. logical_port_increment (uint16_t, 默认值: 2)
    在 RTCP 协商中尝试逻辑端口之间的增量。

  14. enable_tcp_nodelay (bool, 默认值: false)
    启用 TCP_NODELAY 套接字选项,以减少延迟。

  15. non_blocking_send (bool, 默认值: false)
    不在发送操作上阻塞。当设置为 true 时,如果发送缓冲区可能已满,则发送操作会立即返回,但不会向上层报告错误。这意味着应用程序将表现得像是包已被发送但实际丢失了。

  16. calculate_crc (bool, 默认值: true)
    是否计算并在消息头上发送 CRC 校验和。

  17. check_crc (bool, 默认值: true)
    是否检查传入消息头中的 CRC 校验和。

  18. apply_security (bool, 默认值: false)
    是否使用 TLS 安全性配置。

  19. tls_config (TLSConfig)
    TLS 配置,用于安全通信。

  20. default_reception_threads、reception_threads、keep_alive_thread、accept_thread
    表示各种线程设置,用于接收线程、保持活动线程和处理进入连接请求线程等配置.

  21. tcp_negotiation_timeout(uint32_t,默认:0) 等待逻辑端口协商超时(毫秒)。如果某个逻辑端口正在协商,它将在此超时前等待协商完成,然后再尝试向该端口发送消息。非零设置会增加发现时间,而零则意味着不等待,这可能导致首条消息丢失。

注意事项:

  • 尽管 listening_ports 接受多个端口,仅第一个有效监听端口会被使用。
  • 如果 listening_ports 留空,参与者将无法接收传入连接,但可以连接到其他配置了监听端口的参与者。
  • non_blocking_send 设置为 true 时,发送操作会立即返回,而不是阻塞直到网络缓冲区有空间;这可能导致未能收到确认而导致数据丢失。


    内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=7206

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?