如何實現一個線程來處理使用UDP的服務器上的客戶端請求。我已經閱讀過可以使用ThreadPoolExecutor的地方,正在使用這個方法。因爲Web上沒有太多文章給你使用Multithreaded UDP應用程序的任何示例。 所以我的問題是我應該使用ThreadPoolExecutor? 有人有一個如何實現多線程UDP服務器/客戶端應用程序的例子嗎?Java - UDP多線程服務器
這很容易使用TCP,所以我使用TCP多線程,只是想了解UDP如何以這種方式工作。
如何實現一個線程來處理使用UDP的服務器上的客戶端請求。我已經閱讀過可以使用ThreadPoolExecutor的地方,正在使用這個方法。因爲Web上沒有太多文章給你使用Multithreaded UDP應用程序的任何示例。 所以我的問題是我應該使用ThreadPoolExecutor? 有人有一個如何實現多線程UDP服務器/客戶端應用程序的例子嗎?Java - UDP多線程服務器
這很容易使用TCP,所以我使用TCP多線程,只是想了解UDP如何以這種方式工作。
事情是執行者在這裏並不是一個問題。如果您使用ThreadPoolExecutor或使用手動線程來執行它,則無關緊要。 ThreadPoolExecutor或任何其他ExecutorService就此而言只是一種管理線程並相應工作的服務。它與你的RUnnable或Callable's沒有任何關係。
在你的程序中,你只會給Runnables或Callables執行器。 ExecutorService不關心可運行內部的內容,因爲它的工作是執行它們。所以對於TCP服務器或UDP服務器使用ExecutorService的方式不會像處理ThreadPoolExecutor那樣改變。只需修改RUnnable發送和全部完成:)
UDP的主要技巧是它不可靠。你必須實現你自己的丟包檢測/處理。
一旦你有請求,你可以使用一個Executors.newXxxxxx()就像TCP一樣。
嗨,彼得,我不介意數據包丟失。我仍然可以使用ThreadPoolExector嗎? – redoc01
Executors是ThreadPoolExecutor的助手類。你可以使用,但如果可以的話,我會使用Executors。 –