我正在尝试使用专有的简单原始 TCP 协议通过以太网发送一些 KB 的数据。
标准 Windows 配置要求在返回确认数据包之前接收两 (2) 个数据包,除非您使用 TcpAckFrequency = 1 修改注册表,在这种情况下,一个接收到的数据包足以发送回确认,否则无论如何您将在 TcpDelAckTicks 之后收到一个 ACK * 默认情况下 100 = 200 毫秒(这是另一个注册表项)。如果我以小于 1460 字节的块发送数据,这是一个问题,因为每个块将在 200 毫秒后得到确认,并且发送者将在发送下一个数据包之前等待。一种解决方案是发送大于 1460 字节的数据,以便实际发送两个数据包并接收 ACK。
但是,如果我想发送更小的数据包呢?有没有办法用 setsockopt 配置套接字,以便在发送下一个数据包之前不等待确认数据包?
非常感谢您提前。