使用udp无连接协议在简单的java服务器中可以实现多线程吗?
使用udp无连接协议在简单的java服务器中可以实现多线程吗?举个例子!!
Is multi-threading possible in a simple java server using udp connectionless protocol? give an example!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 UDP 的多线程实际上更简单,因为您不必担心连接状态。这是我的服务器的监听循环,
threadPool 是一个 ThraPoolExecutor。由于UDP会话的短暂性,需要线程池来避免重复创建线程的开销。
Multi-threading is actually simpler with UDP because you don't have to worry about connection state. Here is the listen loop from my server,
The threadPool is a ThreaPoolExecutor. Due to the short-lived nature of UDP sessions, thread pool is required to avoid the overhead of repeatedly thread creation.
是的,可以通过使用 < java.nio 中的 code>DatagramChannel 类。 这是一个教程(它没有解决多线程问题,但这是无论如何,这是一个单独的问题)。
Yes, it's possible through the use of the
DatagramChannel
class injava.nio
. Here's a tutorial (It does not address the multithreading, but that is a separate issue anyway).这是一个示例,尝试输入您自己的 IP 来获取硬编码消息
Here is one example try putting your own ip to get the hard-coded message back