【发布时间】:2009-06-05 07:00:18
【问题描述】:
我的 Java 应用程序通过 UDP 接收数据。它将数据用于在线数据挖掘任务。这意味着接收每个数据包并不重要,这首先使 UDP 的选择变得合理。此外,数据是通过 LAN 传输的,因此物理网络应该是相当可靠的。无论如何,我无法控制协议的选择或包含的数据。
不过,我仍然担心应用程序本身的过载和处理时间过长可能会导致丢包。我想知道这些事情发生的频率以及丢失了多少数据。
理想情况下,我正在寻找一种在生产系统中持续监控数据包丢失的方法。但也欢迎部分解决方案。
我意识到不可能总是知道 UDP 数据包丢失(不控制数据包内容)。我在想一些类似于操作系统接收到的数据包但从未到达应用程序的东西;或者可能是应用程序内部的一些聪明的解决方案,比如一个快速读取线程,当它的客户端很忙时会丢弃数据。
我们在 Windows Server 2003 或 2008 下进行部署。
【问题讨论】:
标签: java windows networking udp