boost-asio

    9

    2答えて

    私は、C++でクライアントを一緒にハックしようとしていますが、Googleのプロトコルバッファとboost :: asioを使用しています。 私の問題は、protobufメッセージをどのようにしてasioに送ることができないのかということです。 私が持っていることはこれです: // set up *sock - works PlayerInfo info; info.set_name(name

    1

    1答えて

    私は混合モードプロトコル(メタ情報、ハンドシェイク、確認応答などのためのラインプロトコルとデータのバイナリ)を持つアプリケーション層プロトコルを最適化しようとしています。クライアントはACKを待っている状態では、私はuntill_crlf_maxbytes_1024_match_conditionがhereを文書化async_read_untilするacxcording実装され async_rea

    5

    1答えて

    私はboost :: asio(忘れ去られる転送スキーム)を使って一連の簡単なプロトコルを実装しています。これらは実行時にCPUにバインドされます。効率を上げるために、私は両方のホストを可能な限り稼働させようとします。ホストAが2つのタスクを実行するかどうかの選択肢がある場合、そのうちの1つはホストBに計算を開始させ、そうでない場合はホストAに前のタスクを選択させます。 現在、io_service

    1

    2答えて

    私はこの機能を使用して私にデータを送信するクライアントを持っている: void CServerRetrieve::Send(char *buf, DWORD size, int flags) { unsigned char *zlib; unsigned long szzlib; m_zlib.Deflate((unsigned char*)buf, size +

    3

    1答えて

    私は現在boost :: asioを使って基本的なソケットの問題に苦しんでいます。サーバーがLAN上でブロードキャストを送信してクライアントマシンを検出しています。ブロードキャストはクライアントで正常に読み取られましたが、今はサーバーのIPアドレスを取得して、それに定期的な接続を確立できるようにするという質問に固執しています。 ブロードキャストを受信した後にリモートエンドポイントを照会しようとしま

    17

    2答えて

    クライアントとサーバーが非同期でboost::asioを使用しています。私は接続を閉じるためにいくつかのタイムアウトを追加し、何かがうまくいかない場合には再試行することがあります。 最初の考えでは、async_関数を呼び出すと、非同期操作が完了すると、deadline_timerが期限切れになるはずです。今私はそれがあらゆる場合に厳密に必要かどうか疑問に思います。例えば : async_resol

    6

    3答えて

    クライアントから圧縮された文字列(zlibで圧縮された)を受け取るサーバーがあり、この文字列を受け取るためにboost::asioライブラリのasync_receiveを使用していましたが、すべてのバイトが受信されるという保証はないので、今度はそれをasync_readに変更する必要があります。私が直面している問題は、受信したバイトのサイズが可変であるため、受信するバイト数を知らずにasync_r

    1

    1答えて

    私はboost :: asioを使ってサーバアプリケーション、特にUDP APIを作成しています。今私はプールからasync_receive_fromを使用して別のバッファをリッスンする複数のスレッドを開始します。これは私が主に開発するUbuntuでうまく動作します。 しかし、Windows用にコンパイルすると、送信されたバッファごとにコールバックが何度も呼び出され、何かが見つかったという報告が1

    2

    1答えて

    .NET(C#)プログラムでboost :: asio :: io_serviceという機能が必要です。類似の機能を持つライブラリ(Microsoftまたはサードパーティ製)はありますか? 私が必要とするのは、boost :: asio :: io_serviceのようなクラス/メカニズムで、ハンドラを非同期で呼び出すことができます。 io_serviceでは、ハンドラが実際に実行されるスレッドの

    0

    3答えて

    async_read_someを使用して_dataというchar []に保存されているポートからデータを読み込みます。そのバッファサイズは、すべての要求のために十分な大きさである: void start() { socket_.async_read_some(boost::asio::buffer(data_,BUFFERSIZE),make_custom_alloc_handler(