在Java中,如果我将DatagramPackages留在DatagramSocket会发生什么?
我正在使用在Java中,如果我将DatagramPackages留在DatagramSocket会发生什么?,java,multithreading,sockets,udp,blockingqueue,Java,Multithreading,Sockets,Udp,Blockingqueue,我正在使用DatagramSocket构建一个网络应用程序 我有一个“网络”线程,其唯一任务是从DatagramSocket中提取DatagramPacket对象,并将数据放在BlockingQueue上。它尽可能快地做到这一点。该队列随后被其他线程使用 假设我的“网络”线程运行缓慢,数据包在套接字上堆积 套接字是否可能“溢出”并丢失数据包 从套接字获取数据包并存储数据包有什么好处吗 他们很早就排队了 我的“网络”线程和队列设置真的有必要吗?我是否应该直接使用DatagramSocket 套
DatagramSocket
构建一个网络应用程序
我有一个“网络”线程,其唯一任务是从DatagramSocket
中提取DatagramPacket
对象,并将数据放在BlockingQueue
上。它尽可能快地做到这一点。该队列随后被其他线程使用
假设我的“网络”线程运行缓慢,数据包在套接字上堆积
- 套接字是否可能“溢出”并丢失数据包李>
- 从套接字获取数据包并存储数据包有什么好处吗 他们很早就排队了
- 我的“网络”线程和队列设置真的有必要吗?我是否应该直接使用
李>DatagramSocket
是的。谢谢您的回复。我的
BlockingQueue
设置的一个优点是我可以精确控制消息缓冲区的大小吗?您也可以在限制范围内控制套接字接收缓冲区的大小。我看不出养狗和自己吠叫有什么好处。@I_有帮助吗?“包总是可能丢失”的哪一部分你不明白吗?@EJP-只是必须提供一个适当的理由,因为也可能存在物理障碍。我只是想让你在那一点上说得更具体些。顺便说一句,我已经对你的答案投了更高的票。@我对你有帮助吗?那么为什么不先说呢?但在我看来,这些信息并没有从答案中消失,也没有从问题中消失。”“永远”仍然是“永远”。