boost-asio

    1

    1答えて

    boost asioのasync_read_untilの使用に関する一般的な質問があります。ドキュメントには、ハンドラが呼び出されたときにバッファ内にさらにデータが存在する可能性があることが記載されています。これを回避し、シーケンス条件が一致した直後にバッファがソケットからバイトを消費しないようにする方法はありますか?

    2

    1答えて

    最後の引数boost :: asio :: yield_contextをとる非同期関数を作成したいと思います。例えば: int async_meaning_of_life(asio::yield_context yield); 私はまた、ASIOはエラーコードを返す方法と矛盾しないようにしたいと思います。ユーザーがない場合はそれは、次のとおりです。 int result = async_mea

    2

    1答えて

    私のプログラムを起動すると、実行中のマシンのローカル(LAN)アドレスを取得する必要があります。私がこれを行う方法は、次のとおりです。 try { asio::io_service ioService; asio::udp::resolver resolver(ioService); asio::udp::query lanQuery(asio::udp::v4(),

    0

    1答えて

    boost asioのストリームからの読み込みに問題があります。 async_read_untilの最初の呼び出しは私に460バイトの転送を与えます(私はwiresharkでそれを調べました)。その後、私はistreambuf_iteratorでstd :: copy_nを使うためにstreambufポインタで初期化されたistreamを使います。それは正常に動作し、std :: copy_nのタ

    0

    1答えて

    ASIOコールバックでエラーがスローされた場合、非同期処理を再開するのは安全ですか? 要するに、次のコードにはメリットがありますか? void runAsioLoop() { boost::asio::io_service::work work(this->m_ioService); boost::system::error_code unused; while

    0

    1答えて

    ASIOライブラリを使用することを学んでおり、非同期読み取り後にカスタムハンドラを開始しようとしています。 void myConnection::start() { conSocket.async_read_some(asio::buffer(conIOBuf), [this](const std::error_code error, std::size_t length)

    2

    1答えて

    Boost ASIOの非同期読み取り機能を使用すると、同期読み取りを行う別のスレッドを使用する場合と比較して、パフォーマンス上の利点があるかどうか不思議です。ユース・ケースでは、リモート・ホストからのデータを常にリッスンする必要があります。 非同期の場合、ioservice.run()は読み取るデータがあるまでスレッドをブロックすると信じています。同期の場合、boost :: asio:readコ

    0

    1答えて

    TLS 1.1とTLS 1.2の両方をサポートするようにSSLサーバを取得しようとしていますが、以前のバージョンはサポートしていません。 これは私が私のSSLコンテキストを設定する方法である: // Here io is an instance of io_service boost::asio::ssl::context ctx(io, boost::asio::ssl::context::t

    0

    1答えて

    私のasioベースのアプリケーションでは、エラー処理に問題があります。 async_read/async_write関数でasio single-threaded/single io_serviceを使用し、完了ハンドラで渡されたエラーコードがnullでない場合、エラーが発生したため、その.message()メソッドを呼び出すとsegfaultが発生します。 -categoryポインタがnullを