CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

HTTP実装(4)

イメージ 1

ブラウザに表示はできるようになりましたが、リロードで再表示させようとすると
通信不能の状態になってしまいました。
パケットモニタで調べると、最初の1回目の表示が完了し接続を切ったとき、
クライアントからFINコマンドが連続して再送されてきています。
これはどちらかがFINコマンドの認識に失敗しているのですが、
サーバーからのFIN送出のとき応答確認番号を+1していないことが判りました。
これを修正して、リロードもOK。

さらにHTMLデータも変更してINPUTタグによりパラメータを送れるようにしました。
ただし、今実装しているプロトコルスタックは簡易化のためTCPフラグメンテーション
していないために1回1パケット、1千数百バイトしか転送できないので
これぐらいのページ表示でそろそろ一杯です。