我有一个客户端通过路由器通过Wifi连接不断向主机发送UDP数据包。如果我突然关闭路由器,我想知道数据包会发生什么。 udp数据包是丢弃还是保存在某个缓冲区中?
另外,我想知道如果我在关闭后关闭wifi片段会对数据包发生什么。
我需要android linux中的哪些工具来证明数据包是丢弃的(以及在哪一层)或保存在某个缓冲区中(访问缓冲区以验证它是我发送的数据包)?
答案 0 :(得分:1)
根据UDP的性质,如果网络无法访问,数据包将开始丢弃(丢失)。
一旦重新建立网络,数据包将尽最大努力(但不会丢失)到达目的地。
要测试此行为,您可以创建一个客户端 - 服务器模型应用程序(在Android,.NET或您喜欢的任何语言中),其中客户端开始发送UDP数据包(包括序列号和日期戳)到服务器和服务器审核到达/丢失的数据包。在传输过程中,您可以放下网络以观察行为并测试您所需的案例。
网络关闭后,您的客户端应用程序将继续发送数据包而不知道网络不可用,同时所有刷新的数据包都将丢失。一旦网络恢复,传输也将恢复。