はじめまして、いつも楽しくROMさせてもらっているmaumと申します。 実は私もH8にTCPを実装してHTTPを動作させて遊んでいるのですけど hamayanさんと同じ事態に陥っています。 > TCP!何が面倒かと言えば、ウインドウ制御をどうしてやろうか、で蹴躓いているんですね。 > ハンドシェークの方は、それ程でも無いのですが・・・、極端な話、極々小さなWebデータを送るだけの > 、データパケットのやり取りが一回で済む様な、限定された条件のHTTPアプリとかは直ぐにでも出来そ > うですが、目的としてはTCPをサポートする事で、HTTPの実装でないから、ついでに勉強の目的でも > 有りますし、ネットワークの参考書を読みながら、一つ一つ、フルスクラッチで作成しています。 > 一歩進んで、二歩さがる!って感じです。 まさに、同じことに苦慮されていますね。 私のTCP/IPもフロー制御をどうやろうかということで模索中なんです。 httpは1パケット以内に収まるような小さなものです。 たったこれだけでもシーケンス制御やら応答番号やらで結構時間がかかりました。 組み込みでの最大の弱点はダイナミックにメモリーを確保できないことですよね。 TCPとは直接関係ありませんが、H8でダイナミックにメモリーを確保したい場合 (Cのmallocに相当する)にどんなアルゴリズムでやればいいでしょうか? 私の考えでは・・。 mallocで確保するメモリーの単位を適当なメモリーブロックで管理する。 1ブロック(たとえば128バイト)を管理するテーブルを設けてその領域が 使われているかを管理する。 これは誰でも考えつきます。 問題はfreeされた場合の領域管理で、malloc、freeを繰り返すと メモリーに虫食いが出てきましていつかは破綻するでしょう。 こうなると使えないということになってしまいます。 ということで、こちらも暗礁に乗り上げています。 皆さんのお知恵を聞かせてください。