タグ

asioに関するkyouzontのブックマーク (9)

  • Boost.Asio postとdispatchの違い - Faith and Brave - C++で遊ぼう

    Boost.Asioのio_serviceには、post()とdispatch()というほぼ同じことをする関数が用意されています。 以下のブログでわかりやすく解説されていたので、それを見ていくことにします。 To post or to dispatch? - This Thread まず、io_serviceを複数スレッドで動作させます。 それと、最初にメインスレッドのIDを出力しておきます。 std::cout << boost::this_thread::get_id() << std::endl; asio::io_service io_service; asio::io_service::work work(io_service); boost::thread_group group; const int count = 3; for (int i = 0; i < count;

    Boost.Asio postとdispatchの違い - Faith and Brave - C++で遊ぼう
  • boost.asioの非同期IOのしくみ - ぬうぱんの備忘録

    なにがあった 一個前のエントリで同期通信のブロッキングがウンタラカンタラって言って結局非同期通信することに落ち着いたので、非同期通信がどうなってるのかをメモ 基的な流れとか おおよそ次の3ステップ メインスレッドでio_serviceに送受信バッファとハンドラを登録(post) io_serviceは登録されたハンドラを処理する(dispatch) 送受信が完了すると登録したハンドラが呼び出される 補足すると メインスレッドから仕事を投げて子スレッドで仕事を処理するイメージ。 2はio_service::run()内のメッセージループで行われる。 送信にしても受信にしてもハンドラが呼び出されるまでは送受信が終了していないという事なので、バッファを有効にしておく必要がある。 メッセージループの開始と終了 開始と終了が割と面倒。というのも ハンドラを処理するメッセージループはio_servi

    boost.asioの非同期IOのしくみ - ぬうぱんの備忘録
  • Google Sites: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

  • boost Asio 概要

    Boost.Asio概要 翻訳は自分の勉強のために行います.とりあえず意味がわかればいいやという感じで進めます.訳せないところは飛ばします. そういった意味で不正確な訳なことをご了承下さい. http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/overview.html 1. Boost.Asioの原理原則 大部分のプログラムは、外の世界と何らかの方法でやりとりをします。それは、ファイルを通じて、ネットワークを通じて、シリアルケーブルを通じて、もしくは、コンソールを通じて、です。しばしば、ネットワークの場合、I/O命令の完了までに長い時間がかかる場合があります。これは、アプリケーションの開発者にとって、とりわけ挑戦となります。 Boost.Asioはこれらの長い実行時間のかかる操作を扱います。スレッドや明示的なロックなしにです

  • Boost.Asioまとめ(1)::io_service - yutopp's blog

    Boost Advent Calndar 2011に恐縮ですが参加させて頂きました。15日目です。 最初はBoost.Asioについてまとめるぞーと意気込んでいたものの変に長くなってしまったのでBoost.Asioの中のio_serviceに絞ったためこんなタイトルに成り申した。 Boost.Asioとは 主にネットワークのI/Oのような時間のかかってしまう処理を非同期的かつ簡潔に扱えるようにした便利なライブラリです。 ネットワークを中心に、シリアルポート、タイマー、シグナルのハンドリングなども扱えます。 と、いうわけでio_serviceです。 Windows環境にてVC++10、Boost1.48.0を用いています。 io_service 全てはこのクラスに始まり、このクラスに終わります。 各OSの提供するI/O制御への橋渡しをしてくれるもので、Asioの提供するIOサービス(dead

    Boost.Asioまとめ(1)::io_service - yutopp's blog
  • [Boost-users] [asio] async_read and 100% CPU

    kyouzont
    kyouzont 2012/03/13
    UltraMonkey-L7で発生している問題と関わりがあるか?
  • Boost.Asio 名前解決 - Faith and Brave - C++で遊ぼう

    Boost.Asioでは、resolverというクラスを使用することにより、google.comのような名前から、IPアドレスに変換することができます。 ip::tcp::resolver resolver(io_service); ip::tcp::resolver::query query("google.com", "http"); resolver.async_resolve(query, on_resolve);以下サンプル #include <boost/asio.hpp> #include <boost/bind.hpp> #include <iostream> namespace asio = boost::asio; namespace ip = asio::ip; class Client { asio::io_service& io_service_; ip::tcp

    Boost.Asio 名前解決 - Faith and Brave - C++で遊ぼう
    kyouzont
    kyouzont 2011/10/23
    resolver,queryなどについて
  • Examples - 1.47.0

    kyouzont
    kyouzont 2011/07/19
    UltraMonkey-l7 V3の参考に。
  • boost::asioのasync(非同期)モデルの整理 - Softgelsの開発公開日記

    C++boost::asioにselectやpollはあるのか?The BSD Socket API and Boost.AsioにBSDソケットのAPIとboost::asioのAPIの対比表が載っている。「Note: in conjunction with asynchronous operations.」ということは、BSDのselectやpollに該当するAPIはboost::asioに「あるにはある」。が、async処理の中でboostが自動的に行う、またそのことが推奨されているのだろう。以前に読んだ非同期クライアントや非同期サーバのサンプルを見直したが、pollやpoll_oneはアプリケーション側で呼んではいなかった。boost::asioのasync(非同期)のスレッドモデルBasic Boost.Asio Anatomyの内容をまとめてみた。シングルスレッドのときアプリが

  • 1