こんにちは
早速なのですが FIFOバッファの意味と実装のヒントについて教えていただ
けないでしょうか?手持ちのアルゴリズム系の書籍類には該当する情報が
ありませんでした。Webを調べてもピンと来るようなページを見つけること
ができませんでした。
状況としてはTCP/IPのソケット通信でデータをパソコンAからパソコンBへ
定期的に送信するのですが パソコンAの中にこのFIFOバッファを入れて
それを介してパソコンBへ送信しろと言うことなのです。
環境
Windows2000Pro
VC++6.0
よろしくお願いします。
FIFO の何がわからないのでしょうか?
ちょっと検索したら
http://www.atmarkit.co.jp/icd/root/43/67542643.html
http://mt-net.vis.ne.jp/ADFE_mail/0046.htm
とか、良い説明してるページがすぐ見つかります。
実装手段としてはリングバッファとか std::queue とか
ぱっと浮かびます。
tetrapod様
回答ありがとうございます。
>FIFO の何がわからないのでしょうか?
>ちょっと検索したら
>http://www.atmarkit.co.jp/icd/root/43/67542643.html
>http://mt-net.vis.ne.jp/ADFE_mail/0046.htm
>とか、良い説明してるページがすぐ見つかります。
>
>実装手段としてはリングバッファとか std::queue とか
>ぱっと浮かびます。
概念については紹介していただいたWebページがとても参考になりました。
また,MSDNで std::queueで検索したら望んでいた情報が見つかりました。
push(DATA) でバッファにデータを積んで行って
pop()で入れた順番に取り出すと言うことなんですね
ありがとうございまいした。
今後ともよろしくお願いします。
std::queueの機能は,
pushで突っ込んで,frontで先頭要素を参照,popで削除です。
http://www005.upp.so-net.ne.jp/episteme/html/stlprog/_03.html#queue
YuO様
アドバイスありがとうございます。
>pushで突っ込んで,frontで先頭要素を参照,popで削除です。
すみません,MSDNのqueueにある下記のqueueコードをざっと見て
pop()で取り出すと早合点していました。 front()なんですね
while (!p.empty())
{
cout << p.front() << endl;
p.pop();
}
来週から実際に取り掛かる予定ですが,紹介していただいたサイトはいろいろなコードがサンプルとして紹介されていてありがたいです。
どうもありがとうございます。m(__)m
ツイート | ![]() |