我在linux上有一个java应用程序,可以打开UDP套接字并等待消息.
在高负载下运行几个小时后,会出现数据包丢失,即数据包由内核接收,而不是由我的应用程序接收(我们在sniffer中看到丢失的数据包,在netstat中看到丢失的UDP数据包,在应用程序日志(log)中看不到这些数据包).
我们试图扩大套接字缓冲区,但这没有帮助——我们后来开始丢失数据包,但仅此而已.
对于调试,我想知道在任何给定的时刻,OS udp缓冲区有多满.谷歌搜索了一下,但什么也没找到.你能帮助我吗?
各位,我知道UDP是不可靠的.然而,我的计算机接收所有UDP消息,而我的应用程序无法使用其中的一些消息.我想最大限度地优化我的应用程序,这就是问题的原因.谢谢