为了账号安全,请及时绑定邮箱和手机立即绑定

制作 ping 库。我应该遵循实际的 ping 行为吗?

制作 ping 库。我应该遵循实际的 ping 行为吗?

Go
梵蒂冈之花 2021-06-29 16:11:22
我正在制作一个 ping 库,主要是为了好玩。我最近在我的实现中发现了一个错误,我没有检查接收到的打包的 seq。如果发生超时,我现在通过丢弃数据包来修复它。但是今天,我看到 ping 实用程序打印收到的回复数据包,即使它们超时。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我不知道在我的图书馆做什么。我应该保留实际行为,还是需要将其调整为“旧”ping 方式?该库不是为特定用途而设计的。我将用它来做一些项目,但我想知道每个选择的论据。正如我所看到的,实施第二个选项将更加困难。谢谢!(如果我的帖子不清楚,请不要犹豫,让我澄清,已经晚了。)如果要查看项目地址:这里
查看完整描述

2 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

我理解您的问题是:“我是否应该向用户报告我已经报告为超时的数据包”。

,我不会这样做。在应用程序中,我不会期望数据包两次,而且我必须手动为这些数据包记账。如果您的图书馆进行簿记,并且我可以在稍后的某个时间点询问是否稍后收到了数据包,那就可以了。

所以要么没有,要么像这样的一些 API:

notifyReceivedLostPacket(seqId int) chan Packet


查看完整回答
反对 回复 2021-07-05
?
喵喔喔

TA贡献1735条经验 获得超5个赞

我会投反对票:

是的,你应该这样做。我们得到了回复;应该报告。应用程序必须弄清楚如何处理它。


查看完整回答
反对 回复 2021-07-05
  • 2 回答
  • 0 关注
  • 195 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信