gpt4 book ai didi

android - java websocket 无法解析 setwebsocketfactory

转载 作者:行者123 更新时间:2023-11-29 19:12:56 25 4
gpt4 key购买 nike

我正在使用来自 TooTallNate 的 java_websocket 库在我的 android 上试用 websocketclient。在 ws 上一切正常。对于 wss,我的本地开发服务器有一个自签名证书,我试图在我的客户端中使用 instructions from here 绕过它.然而,

WebSocketClient.setWebSocketFactory(new DefaultSSLWebSocketClientFactory(sc)); 

不解析 setWebSocketFactoryDefaultSSLWebSocketClientFactory。我是否在 WSS 中的 SSL 支持的编译 header 中遗漏了某些内容?这是我的依赖

compile 'org.java-websocket:Java-WebSocket:1.3.4'

而且这个 header 也没有解析

import org.java_websocket.client.DefaultSSLWebSocketClientFactory;

你能告诉我我错过了什么吗?谢谢!

最佳答案

没关系。得到它的工作。看起来 API 当前有所不同。

使用来自 https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/example/SSLClientExample.java 的这个 fragment 接受自签名证书,其中 mWebSocketClientWebSocketClient 类型的对象。

    TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
X509Certificate[] myTrustedAnchors = new X509Certificate[0];
return myTrustedAnchors;
}

@Override
public void checkClientTrusted(X509Certificate[] certs,
String authType) {}

@Override
public void checkServerTrusted(X509Certificate[] certs,
String authType) {}
} };
try {
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, trustAllCerts, new SecureRandom());
SSLSocketFactory factory = sslContext.getSocketFactory();
mWebSocketClient.setSocket(factory.createSocket());
mWebSocketClient.connectBlocking();
}
catch (Exception e){
e.printStackTrace();
}

关于android - java websocket 无法解析 setwebsocketfactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44572162/

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