看板 PangSir 關於我們 聯絡資訊
※ 引述《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)
locationc:問題2我發現是indian的問題 不好意思 05/13 23:00
locationc:5的話用wireshark就可以看到封包的完整內容了 05/13 23:00
locationc:我會再試試看 謝謝 05/13 23:00
wanquan:TTL可以設定成功 05/14 20:37