我正在開發一個新的Java桌面應用程序。就像媒體播放器一樣。我想在計算機啓動時在後臺加載大部分資源。但用戶可以在應用程序中關閉該選項或使用其他實用程序。那麼,我想要做的是如果應用程序的禁用實例已經運行並且用戶再次啓動應用程序,那麼我可以與已經運行的實例進行通信,以便它可以啓動一個新窗口?應用程序的兩個實例如何在Java中進行通信?
4
A
回答
7
最知名的方式來做到這一點是打開一個ServerSocket當第一應用程序啓動一個衆所周知的端口上。
如果ServerSocket無法加載,可能是因爲某個實例已在運行。
在這種情況下,您可以打開一個套接字並開始在兩個實例之間傳達您的訂單。
但您也可以使用更復雜的解決方案,如Jini或JGroups。
1
您可以使用端口。
3
寫的應用程序,所以它有一個服務器部分
當它啓動時,嘗試與服務器通信(如果已經運行),如果這樣的作品,那麼服務器應該打開一個新窗口,和客戶端應該死
這應該給你一個概述:
http://java.sun.com/docs/books/tutorial/networking/sockets/clientServer.html
相關問題
- 1. 兩個java應用程序如何在EC2上的兩個實例上通信?
- 2. WPF +在多個應用程序實例之間進行通信
- 3. 如何在兩個應用程序之間進行通信?
- 4. userscript的兩個實例如何在幀之間進行通信?
- 5. 兩個應用程序/進程如何通過COM進行通信?
- 6. 小應用程序能否與servlet的實例進行通信
- 7. 如何在iOS中的兩個應用程序之間進行通信?
- 8. 兩個例程在相同的信道上進行通信
- 9. 如何在兩個不同的android應用程序之間進行通信
- 10. 如何有效地在兩個程序之間進行通信?
- 11. 在Java SE和Java EE應用程序之間進行通信
- 12. 開發兩個android應用程序並在兩個之間進行通信
- 13. MSMQ - 如何在兩個應用程序之間進行溝通
- 14. 如何在2個java程序之間進行通信?
- 15. 通過兩個android移動應用程序進行通信信息
- 16. 使用OpenThread堆棧進行通信的示例應用程序
- 17. 如何在Android上的應用程序之間進行通信
- 18. C++如何在應用程序的DLL之間進行通信?
- 19. 如何讓兩個Python程序進行通信?
- 20. 從同一個Java應用程序的兩個實例中連續執行
- 21. 如何在Android中的2個應用程序之間進行通信:
- 22. 如何在python和mac應用程序之間進行通信?
- 23. 如何在iOS應用程序和php之間進行通信?
- 24. 如何在Windows應用程序和Silverlight之間進行通信?
- 25. 如何在C#中進行進程間通信時進行進程間通信?
- 26. winforms應用程序多個實例之間的通信
- 27. 在PC上與Java程序進行通信的Android應用程序
- 28. 兩個Windows應用程序可以使用命令行進行通信嗎?
- 29. 如何通過PhpStorm在Vagrant實例上運行應用程序?
- 30. 兩個應用程序可以通過UDP數據包進行通信嗎?
+1用於提及更高級別的Java特定解決方案(如JGroups)。 – Thilo 2010-05-21 12:39:17
另請參見ServerSockeChannel,它進一步封裝了ServerSocket。 – 2010-05-21 12:53:54
@Thilo JGroups一直是我第一個真正喜歡的不立即使用的圖書館。我總是發現它的能力相當神奇,至少可以說。 – Riduidel 2010-05-21 12:58:46