gpt4 book ai didi

java - Jetty WebSockets ssl == null 错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:52:02 24 4
gpt4 key购买 nike

我需要关闭连接但是我明白了

2016-10-28 10:46:07.624:WARN:oeji.nio:handle failed
java.lang.NullPointerException: ssl == null
at com.android.org.conscrypt.NativeCrypto.SSL_read_BIO(Native Method)
at com.android.org.conscrypt.OpenSSLEngineImpl.unwrap(OpenSSLEngineImpl.java:477)
at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:1014)
at org.eclipse.jetty.io.nio.SslConnection.unwrap(SslConnection.java:536)
at org.eclipse.jetty.io.nio.SslConnection.process(SslConnection.java:359)
at org.eclipse.jetty.io.nio.SslConnection.access$900(SslConnection.java:48)
at org.eclipse.jetty.io.nio.SslConnection$SslEndPoint.fill(SslConnection.java:678)
at org.eclipse.jetty.websocket.WebSocketParserRFC6455.parseNext(WebSocketParserRFC6455.java:181)
at org.eclipse.jetty.websocket.WebSocketConnectionRFC6455.handle(WebSocketConnectionRFC6455.java:225)
at org.eclipse.jetty.io.nio.SslConnection.handle(SslConnection.java:196)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:833)

这是我的套接字代码:

private WebSocket webSocket = new WebSocket.OnTextMessage() {
@Override
public void onMessage(String data) {
//...
}

@Override
public void onOpen(Connection connection) {
//...
}

@Override
public void onClose(int closeCode, String message) {
//...
// this is called after connection.close()
}
};

WebSocketClientFactory webSocketClientFactory = new WebSocketClientFactory();
public void start(){
webSocketClientFactory.stop();
String urlConnect = "wss://test.test.com:111111/websocket";
webSocketClientFactory.setBufferSize(100000);
webSocketClientFactory.start();
WebSocketClient webSocketClient = webSocketClientFactory.newWebSocketClient();
webSocketClient.setMaxBinaryMessageSize(100000);
webSocketClient.setMaxTextMessageSize(100000);
Future<WebSocket.Connection> connectionFuture = webSocketClient.open(URI.create(urlConnect), webSocket);
}
// .......
// after some time call this
public void stop(){
try {
connection.close(); //this is going fine, error comes after
} catch (Throwable t) {
t.printStackTrace();//this not called
}
}

我不明白该错误的原因是什么以及我该如何解决?我查看了 jetty 文档并检查了这里的一些线程,但没有发现任何关于该特定错误的信息

最佳答案

您必须停止 WebSocketClient。

试试这个:

public void stop(){
try {
webSocketClient.stop();
} catch (Throwable t) {
t.printStackTrace();//this not called
}
}

public void stop(){
try {
webSocketClient.stop();
connection.close();
} catch (Throwable t) {
t.printStackTrace();//this not called
}
}

链接:where I have see it

关于java - Jetty WebSockets ssl == null 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40301426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com