如何实现使用UDP处理服务器上的客户端请求的线程。我已经阅读过你可以使用ThreadPoolExecutor的地方,正在使用这个方法ok。因为网上没有太多文章可以为您提供使用多线程UDP应用程序的任何示例。 所以我的问题是我应该使用ThreadPoolExecutor吗? 有人有一个如何实现多线程UDP服务器/客户端应用程序的示例吗?
使用TCP很简单,所以我使用了TCP多线程,只想了解UDP的工作原理。
答案 0 :(得分:0)
UDP的主要技巧是它不可靠。您必须实现自己的丢包检测/处理。
一旦有了请求,就可以像使用TCP一样使用Executors.newXxxxxx()。
答案 1 :(得分:0)
问题在于执行者在这里根本不是问题。如果您使用ThreadPoolExecutor或使用手动线程来执行它并不重要。 ThreadPoolExecutor或任何其他ExecutorService就是一个管理线程并相应工作的服务。它与您的RUnnable或Callable的内容无关。
在您的程序中,您只会将Runnables或Callables提供给执行者。 ExecutorService不关心runnable中的内容,因为它的工作就是执行它们。因此,就处理ThreadPoolExecutor而言,使用ExecutorService for TCP服务器或UDP服务器的方式不会改变。只需修改要发送的RUnnable即可完成所有操作:)