簡體   English   中英

Java-網絡應用程序-實時

[英]Java - Network application- Real-Time

建議使用哪些策略來構建將在“桌面”而不是瀏覽器中運行的Java應用程序。 該應用程序的特征是:

1. Multiple application instances would be running on different machines
 2. Applications must communicate in real-time (if one user make changes,
in another application data must be refreshed)

您想研究使用套接字,TCP還是UDP,並弄清楚是否要使用中央權威服務器(如果兩個用戶以不同的方式更改同一件事,並保存其數據該怎么辦?)

在此處閱讀Oracle / Java的這篇文章Java自定義網絡

您是否想創建網絡應用程序? 基於套接字等等? 關於您的兩個問題,我前段時間已經實現了該方案,我在工作上也從事類似的工作,這雖然並不復雜,但是我將根據與您有關的兩個問題回答您。

  1. 多個應用程序實例將在不同的計算機上運行。

如果要在人們的桌面上安裝應用程序的實例,建議您對“路徑”非常小心,不要硬編碼任何路徑,因為資源加載是動態的。

仔細檢查將在其中安裝應用程序的網絡體系結構。 也許它只是一個LAN,或者它可以在大型網絡中工作並通過VPN等訪問。請檢查情況。

一旦確保您的應用程序可以在不同的機器上正常運行而沒有任何路徑沖突或資源加載沖突,就可以導出jar,使用maven,ant等生成它。

另外,如果要繼續前進,則可以使用任何安裝向導創建來創建安裝程序,並為Windows創建一個批處理文件(.exe)或為Linux distr創建一個批處理文件(.sh)。 但這只是安裝階段的建議。

另一方面,如果您想將應用程序作為Java桌面執行,但使用URL來啟動它,則可以看看JNLP。

  1. 應用程序必須實時通信(如果一個用戶進行更改,那么其他用戶將能夠看到)

如果要這樣做,則肯定需要一台服務器來提供和存儲信息。 服務器可以是在辦公室中設置的物理計算機,也可以是遠程計算機。

您在這里有兩個選擇:

使用Java網絡:創建一個用作服務器的應用程序,該服務器提供並保存信息(它應該是並發環境,因為許多人將在該環境上執行事務或查詢)。 檢查如何使用Sockets創建基本的服務器-客戶端應用程序,以更好地了解其工作方式,然后您將不會遇到增加環境所要求的復雜性的問題。

您可以簡單地開發一個基於Java REST的應用程序,並使您的Client應用程序連接到計算機(如果您打算實現負載平衡,則連接到計算機)並使用這些REST。 您可以看一下Jersey庫來實現您的方案。 確保為這些Web服務添加安全性,並使服務器私有訪問您的應用程序實例將在其中運行的網絡。

好吧,這就是我可以根據目前已經完成的工作和現在正在執行的工作告訴您的方案。

也許您需要其他或更多信息,可以在評論中回復,這對您有所幫助。

問候和愉快的編碼:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM