私は、サーバー用のJavaアプリケーション(動的Webプロジェクトではない)を実装しています。 UDPデータを評価するために、UDPデータグラムごとにPHPをバックグラウンドで実行しているUDPリスナである必要があります。JavaBridge errno = 10054 Remotehostによって閉じられる
私はJavaBridgeを調べました。それは私の意図にとって完璧なようです。 Javaクラスを実行してPHPファイルを呼び出し、パラメータを送信してパラメータを取得すると、サーバー上でjspとして実行すると完全に機能します。 しかし、それをメインメソッドで単純なJavaアプリケーションとして実行すると、毎回エラーが発生します。実行しています。 Javaコードは次のようになります。
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine instance = manager.getEngineByName("php-invocable");
try {
URI remotePhpApp = new URI("http", null, "127.0.0.1", 8081, "/JavaBridge/java/JavaProxy.php", null, null);
ByteArrayOutputStream sharedResource = new ByteArrayOutputStream();
Integer nr = 42;
instance.put("nr", nr);
instance.put("sharedResource", sharedResource);
Object result = instance.eval(new URLReader(remotePhpApp.toURL()));
String res = result.toString();
System.out.println ("Found " + sharedResource.toString() + " entries in database");
sharedResource.close();
} catch (Exception ex) {
System.out.println("Could not evaluate script: "+ex);
}
コンソール出力はIOExcptionを示します。 Tomcatサーバーは以下を表示します。 PHPの注意:fwrite():6バイトの送信がerrno = 10054で失敗しました... Java.inc行を指しています815
...ただし2回目です。誰かにアイデアはありますか?