boost :: asioおよび再帰的なサーバー呼び出し

boost boost-asio c++ tcp
boost :: asioおよび再帰的なサーバー呼び出し
boost

asioは再帰的なサーバー接続を正しく処理しますか?

async_readハンドラー内から自分自身に接続するTCP / IP非同期サーバーがあり、デッドロックしているようです。次のasync_acceptは機能していますが、async_readはブロックしています。

サーバーは、スレッドプールを使用したhttp asioの例に基づいています。

クライアントが使用している特定のAPIを実装し、一部の機能を別のサーバーに委任することもできます(プロキシまたはクラウドノードのように動作します)。 問題は、別のサーバーがローカルホストである場合(例: それ自体)デッドロックはasioライブラリ内のどこかで発生します。

助言がありますか?

  2  0


ベストアンサー

私は実際に問題がSSLソケットにあることを発見しました-ハンドシェイク機能は、サーバーがそれ自体を呼び出すとデッドロックします。 おそらくasio sslコード内のストランドに関連しています。

1


タイトルとURLをコピーしました