2016-08-26 5 views
2

私はadempiereの内部で働いているサーバーからクライアントにプログラムを送信するメッセージを持っています。ここで私は供給ポート:動的に8080を与えなければなりません。ポートはハードコーディングされていてはなりません。今、私はハード私たちはどのようにadempiereから動的に与えるためにポート8080を得ることができます

ServerSocket srvr = new ServerSocket(8080, 1, InetAddress.getByName(mSession.getRemote_Addr())); 

クライアント

Socket skt = new Socket(ip.getHostAddress(), 8080); 

Serverがこのハードコーディングする方法の反乱を提案してくださいServerSocketをでポート8080をコーディングし、ソケットいます。 私を助けてください。

答えて

2

ウェブポートは、セットアッププロセスの実行時に使用される設定データの一部ですが、セットアップが完了するとサーバー/クライアントからアクセスされません。データにアクセスするには、次のように設定データを再度読み込む必要があります:

int webPort = 8080; 
ConfigurationData data = new ConfigurationData(null); 
if (data.load()) { 
    webPort = data.getAppsServerWebPort(); 
} 

ServerSocket srvr = new ServerSocket(webPort, 1, InetAddress.getByName(mSession.getRemote_Addr())); 
関連する問題