Ich implementiere eine Java-Anwendung (kein dynamisches Webprojekt) für einen Server. Dies sollte ein UDP-Listener sein, der im Hintergrund läuft und PHP für jedes UDP-Datagramm aufruft, um die UDP-Daten auszuwerten.JavaBridge errno = 10054 Geschlossen von Remotehost
Ich habe einen Blick in JavaBridge und es scheint perfekt für meine Absicht. Das Ausführen einer Java-Klasse, die eine PHP-Datei aufruft, das Senden von Parametern und das Abrufen von Parametern funktioniert einwandfrei, wenn ich sie als JSP auf dem Server ausführe. Aber es läuft als eine einfache Java-Anwendung mit einer Hauptmethode Ich bekomme ein Fehler jedes zweite Mal, ich bin es ausgeführt. Der Java-Code sieht wie folgt aus:
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);
}
Die Konsolenausgabe einen IOExcption zeigt. Der Tomcat-Server zeigt an: PHP Hinweis: fwrite(): Senden von 6 Bytes fehlgeschlagen mit errno = 10054 ... zeigt auf der Java.inc Zeile 815
... aber nur jedes zweite Mal. Hat jemand eine Idee?