当自动 Ping Pong 设置为 True 时,如何在 Beast websocket::stream 中设置 Ping PayLoad?

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

我目前正在尝试实现一个异步 Websocket 客户端。我的超时选项按以下方式设置以启用自动乒乓球。但是,我很难找到一种方法来定义 ping 负载消息。有什么方法可以实现吗?无论如何也可以设置从我这边发送 ping 消息的频率?

下面是我尝试设置乒乓选项的代码片段

namespace beast = boost::beast;         // from <boost/beast.hpp>
namespace http = beast::http;           // from <boost/beast/http.hpp>
namespace websocket = beast::websocket; // from <boost/beast/websocket.hpp>
namespace net = boost::asio;            // from <boost/asio.hpp>
namespace ssl = boost::asio::ssl;       // from <boost/asio/ssl.hpp>
using tcp = boost::asio::ip::tcp;       // from <boost/asio/ip/tcp.hpp>

websocket::stream<beast::ssl_stream<beast::tcp_stream>> ws
websocket::stream_base::timeout timeoutOpt{
        std::chrono::seconds(10),   // handshake timeout
        std::chrono::seconds(20),       // idle timeout. Any ways to set the ping interval as well?
        true   //enable ping-pong to keep alive
    };
m_ws.set_option(timeoutOpt);
c++ asynchronous websocket boost-beast
© www.soinside.com 2019 - 2024. All rights reserved.