作者kening (Ken)
看板PangSir
标题Re: [问题] hw2
时间Wed May 13 13:38:21 2009
※ 引述《locationc (星如止水)》之铭言:
: 1.
: 我发现我ping一个request
: 对方不一定会有回应
: 我看linux和windows的ping 好像都有做timeout机制?
因为requirement没有规定,所以可以不用做
如想自己实作,可以使用setsockopt里的 SO_RCVTIMEO
: 2.因为在C里面加法好像是一次+1 byte
: 这样seq在二进位里面就会变成一次+256
: 请问有什麽方法吗 谢谢
不太懂你的意思是? seq直接加一不就可以了吗?
: 3.sendto 和 recvfrom会不会有一次没收送完的情况
只要packet size不要超过MTU就不会有这个问题
: 4.就是收送分成不同thread 会不会有out of order的问题
: 而且如果要实做timeout这个也会有点麻烦
: 就要每个packet设一个timer
可以不用处理
: 5.我用setsockopt(rawSocket,IPPROTO_IP,IP_TTL,(const char*)&ttl, sizeof(ttl))
: 去设定TTL
: 可是我看送出去的IPHeader里面的TTL还是128
: 好像没改到
: 不知道为什麽XD
你送出的packet是如何得知IPHeader的TTL?
还有TTL是可以设定成功的
你可以再试试看
: 感谢助教回答
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.28.124
※ 编辑: kening 来自: 140.112.28.124 (05/13 13:44)
※ 编辑: kening 来自: 140.112.28.124 (05/13 13:54)
1F:推 locationc:问题2我发现是indian的问题 不好意思 05/13 23:00
2F:→ locationc:5的话用wireshark就可以看到封包的完整内容了 05/13 23:00
3F:→ locationc:我会再试试看 谢谢 05/13 23:00
4F:推 wanquan:TTL可以设定成功 05/14 20:37