代码之家  ›  专栏  ›  技术社区  ›  T Percival Daniel Gehriger

sendto忽略MSG\u FASTOPEN标志

  •  0
  • T Percival Daniel Gehriger  · 技术社区  · 6 年前

    更换 connect() 打电话给 sendto() MSG_FASTOPEN 不会启动TCP快速打开连接。没有用于快速打开的TCP选项,也没有SYN数据包中的数据,它只执行常规的TCP SYN。

    1 回复  |  直到 6 年前
        1
  •  0
  •   T Percival Daniel Gehriger    6 年前

    插座必须具有 TCP_FASTOPEN_CONNECT sendto() 召唤荣誉 MSG_FASTOPEN .

    之后 socket() TCP\快速打开\连接

    int sock = socket(AF_INET6, SOCK_STREAM, 0);
    
    const int yes = 1;
    
    setsockopt(sock, IPPROTO_TCP, TCP_FASTOPEN_CONNECT, &yes, sizeof(yes));
    

    这是因为 sendto 消息\u快速打开 意外的位,导致错误的双写。背景 TCP\快速打开\连接 通知内核您的进程愿意尝试TCP fast open。

    推荐文章