2016-08-19 87 views
1

我正在爲服務器實現Java應用程序(不是動態Web項目)。 這應該是一個在後臺運行的UDP偵聽器,爲每個UDP數據報調用PHP來評估UDP數據。JavaBridge errno = 10054由遠程主機關閉

我看了一下JavaBridge,看起來對我的意圖來說很完美。運行一個調用PHP文件的java類時,發送參數和獲取參數在我將其作爲服務器上的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

...但只是每隔一秒。有人有想法嗎?

回答

0

最後,我發現了一些東西。那麼不是問題的答案,而是解決方案。 而不是URLReader我使用FileReader和PHP文件的本地路徑。 現在沒有什麼關於丟失的連接,我可以在我的Java應用程序中使用JavaBridge而沒有錯誤。

相關問題