我有兩個Java應用程序,一個是web應用程序,另一個是簡單的java應用程序,所以我使用Socket編程進行通信。如何在Java Socket編程中在一臺服務器和多臺客戶機之間進行通信?
我做了一個SocketServer的是一個主題,我在其中創建ServerSocket serverSocket = new ServerSocket(6789)
而在我的web應用程序,我創建Socket client = new Socket("localhost", 6789);
我的服務器發送一些數據到客戶端和客戶端將啓動一些其他的工作,但如果我想運行其他客戶端即服務器將發送不同的參數,客戶端必須開始處理我應該怎麼做?
因爲服務器已經開始對「6789」端口和第一個客戶也使用相同的端口。我怎樣才能用另一個端口啓動客戶端?
每次服務器必須首先啓動,然後客戶端。
我認爲,直到兩者都具有相同的端口客戶端將無法找到服務器。
難道我必須創建具有不同端口的另一服務器實例,然後調用客戶端???但是,我的客戶如何知道哪個端口服務器已啓動?
例如:
想象我有UI類似:
開始MIlind
開始XYZ
開始ABC
,並點擊strart它會調用客戶端和啓動過程如果首先啓動Milind,那麼我將如何啓動xyz? 因爲'開始Milind'在端口6789啓動客戶端和服務器,其他啓動過程將如何工作?
是的...我的Java應用程序只做後臺進程,我不能將它改爲web應用程序,就像一個庫。 如果我做了不同的線程,那麼我的客戶怎麼會知道新的端口? –
您不必將其更改爲Web應用程序,就可以像使用其他庫一樣在Web應用程序中使用它。但我不確定客戶是否知道新端口的含義。您是否計劃在處理完成後向客戶端發送更新? –
請看我更新的問題..如果你不明白,請讓我知道。 –