2011-03-25から1日間の記事一覧
タイムアウトには、async系メソッドと別にdeadline_timerを動かし、タイムアウトを設定します。 タイムアウトの前に非同期処理が完了した場合はdeadline_timer::cancel()を呼び、タイムアウト用のタイマーをキャンセルします。 そうすると、タイムアウトのハ…
#include <boost/asio.hpp> #include <iostream> namespace asio = boost::asio; int main() { const std::string host_name = asio::ip::host_name(); std::cout << "hostname: " << host_name << std::endl; } 結果は書きません・・・。</iostream></boost/asio.hpp>
deadline_timer::waitで(同期)sleepになります。 #include <boost/asio.hpp> #include <iostream> namespace asio = boost::asio; int main() { asio::io_service io_service; asio::deadline_timer timer(io_service); std::cout << "wait" << std::endl; timer.expires_from_now(boos</iostream></boost/asio.hpp>…
ゲームループと書いていますが、要はタイマーによる定期実行プログラムです。 io_service::run()の使いどころで嵌りました。async系関数を次々記述していき、最後にio_service::run()を使用することで、非同期処理が終わるまで待機することになるので、ゲー…