我正在尝试为我的 Boost TCP 服务器/客户端应用程序设置
TCP_QUICKACK
。我在 Boost asio 中找不到TCP_QUICKACK
。我该如何设置这个选项?
没有 Asio 风格的选项。但您始终可以使用本机句柄:
// open tcp::socket s as normal...
int i = 1;
::setsockopt(s.native_handle(), IPPROTO_TCP, TCP_QUICKACK, &i, sizeof(i));
我还没有测试过,但看起来下面应该可以通过定义你自己的非便携式选项类型来工作:
using quickack = asio::detail::socket_option::boolean<IPPROTO_TCP, TCP_QUICKACK>;
s.set_option(quickack(true));
我更喜欢简单的方式来明确表示您不承诺任何便携式选项。