FIFOバッファの実装方法

解決


NewCer  2003-10-31 20:39:14  No: 52375

こんにちは
早速なのですが FIFOバッファの意味と実装のヒントについて教えていただ
けないでしょうか?手持ちのアルゴリズム系の書籍類には該当する情報が
ありませんでした。Webを調べてもピンと来るようなページを見つけること
ができませんでした。

状況としてはTCP/IPのソケット通信でデータをパソコンAからパソコンBへ
定期的に送信するのですが パソコンAの中にこのFIFOバッファを入れて
それを介してパソコンBへ送信しろと言うことなのです。

環境
 Windows2000Pro
 VC++6.0

よろしくお願いします。


tetrapod  2003-10-31 21:04:39  No: 52376

FIFO の何がわからないのでしょうか?
ちょっと検索したら
http://www.atmarkit.co.jp/icd/root/43/67542643.html
http://mt-net.vis.ne.jp/ADFE_mail/0046.htm
とか、良い説明してるページがすぐ見つかります。

実装手段としてはリングバッファとか std::queue とか
ぱっと浮かびます。


NewCer  2003-10-31 22:31:41  No: 52377

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()で入れた順番に取り出すと言うことなんですね

ありがとうございまいした。
今後ともよろしくお願いします。


YuO  2003-11-01 04:56:31  No: 52378

std::queueの機能は,
pushで突っ込んで,frontで先頭要素を参照,popで削除です。

http://www005.upp.so-net.ne.jp/episteme/html/stlprog/_03.html#queue


NewCer  2003-11-02 01:00:44  No: 52379

YuO様
 アドバイスありがとうございます。

 >pushで突っ込んで,frontで先頭要素を参照,popで削除です。

すみません,MSDNのqueueにある下記のqueueコードをざっと見て
 pop()で取り出すと早合点していました。 front()なんですね

    while (!p.empty())
    {
        cout << p.front() << endl;
        p.pop();

    }

来週から実際に取り掛かる予定ですが,紹介していただいたサイトはいろいろなコードがサンプルとして紹介されていてありがたいです。
どうもありがとうございます。m(__)m


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加