我正在使用DatagramSocket
构建网络应用程序。
我有一个“网络”线程,其唯一的工作是从DatagramPacket
中提取DatagramSocket
对象并将数据放在BlockingQueue
上。它会尽快执行此操作。然后,该队列被其他线程占用。
假设我的“网络”线程运行缓慢,并且套接字处建立了数据包。
他们早在POJO队列中?
DatagramSocket
吗? 最佳答案
您的套接字接收缓冲区可能会填充到无法接受新数据报的地步。
[UDP]数据包总是有可能丢失,但这是另一个原因。
并不真地。您只是在解决问题,从可能需要无限的网络和套接字接收缓冲区容量到可能需要无限的输入队列容量。您应该以尽可能快的速度处理传入的数据报为目标,但是可能会造成损失。
是的。