Unixソケットで書いたソフトウェアをboost :: asioを使ってTCPソケットのあるバージョンに移植しようとしています。このプログラムは、Linuxマシン上で動作するように設計されています。 (Unixソケットを使用して)、コードの以前のバージョンでread()の前にboost :: asioバッファデータが存在するかどうかを確認してください。
私は、ソケットバッファに新しいデータがあったかどうかを確認するための簡単なチェックを使用して、予想通り構造化データの読み込みを進め:
ioctl(s_c, FIONREAD, &socketstatus);
while (socketstatus > 0)
{// do receive stuff
ioctl(s_c, FIONREAD, &socketstatus);}
ですboost :: asioと似た何かをする方法はありますか? またはいくつかのより良い選択肢?
は、あなたがあなたの既存のコードでうまく動作するべきか、native()
methodを使用してboost::asio::ip::tcp::socket
からネイティブの記述子を抽出することができ、事前に CB
あなたはすでにブーストASIO [例](http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/examples.html)の非常に良いコレクションを読みになりましたブーストasio [チュートリアル](http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/tutorial.html)?多分あなたはそこに答えを見つけるでしょう。 – jenseb