2016-12-17 6 views
1

Ich verwende Websocket basierend auf JAVA, aber ich bekomme einen Fehler, den ich nicht verstehe. Wenn der Server RuntimeException oder NullPointerException usw. erhält, wird die onError-Methode aufgerufen.Java Websocket EOFException auftreten

Danach (beendet onError-Methode), onError Methode wird erneut aufgerufen. Nach dem zweiten Mal tritt EOFException kontinuierlich auf.

Haben Sie eine Ahnung warum EOFException nach onError Methode auftritt?

Hier ist mein Fehlerprotokoll:

java.io.EOFException 
    at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1267) 
    at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.isReadyForRead(NioEndpoint.java:1176) 
    at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:58) 
    at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148) 
    at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54) 
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53) 
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:788) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1485) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

Dank.

+0

Da die Peer die geschlossen Verbindung, fast sicher wegen des vorherigen Fehlers, den Sie untersuchen sollten, nicht dieser. – EJP

Antwort

0

hatte ich das gleiche Problem mit Ihnen, wenn Sie ngingx websocket Anfragen umleiten verwenden, können Sie den proxy_read_timeout Wert erhöhen müssen sonst wird die Verbindung nach 60 Sekunden geschlossen werden (Standardeinstellung)