Java - UDP多线程服务器

时间:2011-10-12 14:52:30

标签: java multithreading udp

如何实现使用UDP处理服务器上的客户端请求的线程。我已经阅读过你可以使用ThreadPoolExecutor的地方,正在使用这个方法ok。因为网上没有太多文章可以为您提供使用多线程UDP应用程序的任何示例。 所以我的问题是我应该使用ThreadPoolExecutor吗? 有人有一个如何实现多线程UDP服务器/客户端应用程序的示例吗?

使用TCP很简单,所以我使用了TCP多线程,只想了解UDP的工作原理。

2 个答案:

答案 0 :(得分:0)

UDP的主要技巧是它不可靠。您必须实现自己的丢包检测/处理。

一旦有了请求,就可以像使用TCP一样使用Executors.newXxxxxx()。

答案 1 :(得分:0)

问题在于执行者在这里根本不是问题。如果您使用ThreadPoolExecutor或使用手动线程来执行它并不重要。 ThreadPoolExecutor或任何其他ExecutorService就是一个管理线程并相应工作的服务。它与您的RUnnable或Callable的内容无关。

在您的程序中,您只会将Runnables或Callables提供给执行者。 ExecutorService不关心runnable中的内容,因为它的工作就是执行它们。因此,就处理ThreadPoolExecutor而言,使用ExecutorService for TCP服务器或UDP服务器的方式不会改变。只需修改要发送的RUnnable即可完成所有操作:)