2

boost::beast を介して bitmex に接続するアプリを作成しました。同期呼び出しは、次の場所で提供されているコードを使用して正常に機能します。

https://www.boost.org/doc/libs/develop/libs/beast/example/websocket/client/sync-ssl/websocket_client_sync_ssl.cpp

ただし、非同期で同じことを行うコード: https://www.boost.org/doc/libs/master/libs/beast/example/websocket/client/async-ssl/websocket_client_async_ssl.cpp

Websocket ハンドシェイクが実行されると、常に正確に中断 (コア) します。

on_ssl_handshake(boost::system::error_code ec)
{
    if(ec)
       return ;//fail(ec, "ssl_handshake");

    // Perform the websocket handshake
    **ws_.async_handshake(host_, "/realtime",
        std::bind(
            &session::on_handshake,
            shared_from_this(),
            std::placeholders::_1));**
}

/realtime は、サーバー側でデータが送信されるターゲットです。

4

0 に答える 0