如何为 Boost ASIO TCP 套接字设置 TCP_QUICKACK

问题描述 投票:0回答:1

我正在尝试为我的 Boost TCP 服务器/客户端应用程序设置

TCP_QUICKACK
。我在 Boost asio 中找不到
TCP_QUICKACK
。我该如何设置这个选项?

boost tcp boost-asio asio
1个回答
1
投票

没有 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));

我更喜欢简单的方式来明确表示您不承诺任何便携式选项。

© www.soinside.com 2019 - 2024. All rights reserved.