gpt4 book ai didi

java - 持续监听来自服务器的 UDP 数据包

转载 作者:行者123 更新时间:2023-11-30 03:24:22 29 4
gpt4 key购买 nike

我正在尝试弄清楚如何实现一个不断“准备好”或“监听”来自服务器的 UDP 数据包的客户端。

我是否需要不断地保持 socket.receive(packet) 运行直到我收到一个,然后一旦我收到,就再次打开它?

我是否应该设置一个重要的 socket.setSoTimeout() 时间以使其循环次数最少?

我需要做什么:

能够从服务器请求特定的数据包,然后在不确定的时间内接收任意数量的数据包

最佳答案

根据您的流量大小,您可能会考虑 NIO,尽管这是一个理解和使用起来要复杂得多的选项。

如果您只有一个基本的应用程序,那么启动一个只阻塞在receive(packet) 上的线程。每当它返回(数据包已到达)时,将数据包分派(dispatch)给某种处理程序。如果流量低,这可能是其他线程正在监听的 BlockingQueue;如果您的流量很高,您可以将作业发送到 ExecutorService 以并行处理。

关于java - 持续监听来自服务器的 UDP 数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18515085/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com