作者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