2007年11月14日

input関数

output関数でwin=min(snd_wnd,snd_cwnd)のところでウインドウをきめているらしいことが判明したので、そのちかくでファイル出力させてみた。
そしたら、ちゃんと広告ウインドウらしきものがでた。

広告ウインドウらしきものがでたのはよかったが、output関数を通るたびにウインドウの値を出力させてしまっているので、ファイルが40MBとかになり、学校のoffice2003にはすべての行を貼り付けるのが無理だった。

output関数を通るたびに値をファイル出力させていると、あんまりいらない広告ウインドウの値とかも出力されてしまう。
純粋にackに乗っかってくるウインドウの値はいいけど、データストリームとは直接関係ないようなウインドウの値まで出力してしまうので、これがちょっとやっかい&うっとおしい。

office2007とかで全行を貼り付けることができるかもしれないが、それでもし貼り付けることができても、いらない値も混在してしまったままで、ちゃんとした解決にはならない。

解決策としては、データに対するackを生成するところを特定して、広告ウインドウをファイル出力させるというのが一番よさそうだ。
もうひとつの方法としては、いまファイル出力させているところで、if文かなんかで場合分けをして関係のあるウインドウ値だけをフィルタリングするというのもある。
そうすればいま関係のないウインドウの値が混在することもなくなるし、ファイルサイズも小さくなるはず。

セグメントをinput関数が受け取って、それに対するACKを生成するところ、output関数に渡すところがわかればその周辺でファイル出力をさせる。
if文での場合分けができそうならそっちでやってもいい。
いまからどっちでやるか考えよう
posted by AO型 at 12:33| Comment(0) | TrackBack(0) | 読書 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。