boost::beast を介して bitmex に接続するアプリを作成しました。同期呼び出しは、次の場所で提供されているコードを使用して正常に機能します。
ただし、非同期で同じことを行うコード: 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 は、サーバー側でデータが送信されるターゲットです。