Я пишу протокол в Boost:: ASIO, который имеет следующие требования:
- Соединения являются долговечными и должны использовать минимальные накладные расходы, чтобы "продолжать жить".
- Сообщения небольшие, и их необходимо передать мгновенно.
Существуют ли дополнительные флажки сокета TCP или настройки Boost:: ASIO?
socket_.set_option(boost::asio::ip::tcp::no_delay(true)); // enable PSH
socket_.set_option(boost::asio::socket_base::keep_alive(true)); // enable SO_KEEPALIVE
socket_.set_option(boost::asio::detail::socket_option::integer<SOL_TCP, TCP_KEEPIDLE>(120)); // secs before keepalive probes
socket_.set_option(boost::asio::detail::socket_option::integer<SOL_TCP, TCP_KEEPINTVL>(10)); // interval between keepalive
socket_.set_option(boost::asio::detail::socket_option::integer<SOL_TCP, TCP_KEEPCNT(5)); // failed keepalive before declaring dead