質問

ソケットを使用して、1つのIPを聞いているこのシンプルなJava関数があります。

void main()

(...)


Socket client = new Socket("192.168.9.2",63333);

DataOutputStream out=new DataOutputStream(client.getOutputStream());
DataInputStream in=new DataInputStream(client.getInputStream()); 

while (userInput == 1) {
      System.out.println(in.readLine());
}

(...)

そして、それは正常に動作しますが、問題は私がそれをインストールしなければならないことです。7.0であり、プロセスを開始するためにメイン関数を1回実行することです。

どうすれば7.0でしたか?

よろしく、
ペドロ

役に立ちましたか?

解決

Java EEの推奨に従って、コンテナにソケットを開くことを避ける必要があります。とにかく必要な場合は、これを開始する方法が必要です。いくつかのオプションがあります。

EJBセッションBeanを作成して、リモート(RMI ...)を呼び出してこの方法に載せることができる方法を使用します。

WASで自動的に開始したい場合は、EJBタイマーを使用してタスクの実行をスケジュールできます。

また、呼び出し時にこのことを行うサーブレットを作成することもできます。

ソケットを管理するためにスレッドを起動することを検討する必要がありますが、条件が次のように到達した場合、スレッドは単独で停止できる必要があります while (userInput == 1).

このようなアプリケーションサーバーでは奇妙に聞こえますが、それを行うことができます。

クライアントソケットを管理するためのいくつかのスレッドを起動するセッションEJBを作成することにより、SAP XIでいくつかの同様のタスクを実行します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top