河野真治 @ 琉球大学情報工学です。

In article <20030928132845.19a2b219.m5061234@u-aizu.ac.jp>, MAEDA Tooru <m5061234@u-aizu.ac.jp> writes
> すると、(1)と(2)で送られたパケットのTTLの値が共に20に
> なっていました。(2)の直後に試しに sleep(1) を入れてみると、
> (2)でのパケットのTTLが10に変わっていたことから、
> 実際にパケットが作られるまで間があり、その間に次のsetsockopt()での
> TTLの変更が有効になってしまったのではないかと推測しました。
> この解釈は妥当でしょうか?

おそらく... 

> また、上記の仕様の通りにするにはどのようにしたらよいでしょうか?

効かないだろうと思うけど、
                if (peer.sin_family == AF_INET)
                {
                    int tmp = 1;

                    setsockopt (sk, IPPROTO_TCP, TCP_NODELAY,
                        (char *) &tmp, sizeof (int));
                }
は?

---
Shinji KONO @ Information Engineering, University of the Ryukyus, 
              PRESTO, Japan Science and Technology Corporation
河野真治 @ 琉球大学工学部情報工学科, 
           科学技術振興事業団さきがけ研究21(機能と構成)