我正在制作一個(gè) ping 庫(kù),主要是為了好玩。我最近在我的實(shí)現(xiàn)中發(fā)現(xiàn)了一個(gè)錯(cuò)誤,我沒(méi)有檢查接收到的打包的 seq。如果發(fā)生超時(shí),我現(xiàn)在通過(guò)丟棄數(shù)據(jù)包來(lái)修復(fù)它。但是今天,我看到 ping 實(shí)用程序打印收到的回復(fù)數(shù)據(jù)包,即使它們超時(shí)。Request timeout for icmp_seq 2Request timeout for icmp_seq 364 bytes from 80.67.169.18: icmp_seq=2 ttl=58 time=2216.104 ms64 bytes from 80.67.169.18: icmp_seq=3 ttl=58 time=1216.559 ms我不知道在我的圖書館做什么。我應(yīng)該保留實(shí)際行為,還是需要將其調(diào)整為“舊”ping 方式?該庫(kù)不是為特定用途而設(shè)計(jì)的。我將用它來(lái)做一些項(xiàng)目,但我想知道每個(gè)選擇的論據(jù)。正如我所看到的,實(shí)施第二個(gè)選項(xiàng)將更加困難。謝謝?。ㄈ绻业奶硬磺宄?qǐng)不要猶豫,讓我澄清,已經(jīng)晚了。)如果要查看項(xiàng)目地址:這里
2 回答

茅侃侃
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊
我理解您的問(wèn)題是:“我是否應(yīng)該向用戶報(bào)告我已經(jīng)報(bào)告為超時(shí)的數(shù)據(jù)包”。
不,我不會(huì)這樣做。在應(yīng)用程序中,我不會(huì)期望數(shù)據(jù)包兩次,而且我必須手動(dòng)為這些數(shù)據(jù)包記賬。如果您的圖書館進(jìn)行簿記,并且我可以在稍后的某個(gè)時(shí)間點(diǎn)詢問(wèn)是否稍后收到了數(shù)據(jù)包,那就可以了。
所以要么沒(méi)有,要么像這樣的一些 API:
notifyReceivedLostPacket(seqId int) chan Packet

喵喔喔
TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
我會(huì)投反對(duì)票:
是的,你應(yīng)該這樣做。我們得到了回復(fù);應(yīng)該報(bào)告。應(yīng)用程序必須弄清楚如何處理它。
- 2 回答
- 0 關(guān)注
- 207 瀏覽
添加回答
舉報(bào)
0/150
提交
取消