gpt4 book ai didi

android - 我在高速公路 websocket 中使用 wss 时无法通信,为什么?

转载 作者:太空宇宙 更新时间:2023-11-03 14:49:19 25 4
gpt4 key购买 nike

我在 android 上有一个带有 autobahn 的客户端应用程序。使用ws可以很好的通信,但是我使用wss的时候出现了一些问题,我使用的证书是自签名证书,所以我按照作者的说法在类WebSocketConnection.java中做了一些修改。

我使用 https://github.com/palmerc/SecureWebSockets这个项目。


报错如下:websockets 内部错误(java.lang.NullPointerException)


我在 WebSocketConnection.java 中添加的内容如下:

 if (mWebSocketURI.getScheme().equalsIgnoreCase(WSS_URI_SCHEME)) {

try {
SSLContext sslContext=SSLContext.getInstance("TLS");
KeyManagerFactory.getInstance("X509");
TrustManagerFactory trustManagerFactory=TrustManagerFactory.getInstance("X509");

KeyStore trustkeyStore=KeyStore.getInstance("BKS");
trustkeyStore.load(MainActivity.activity.getResources().getAssets().open(KEYSTOREPATH_TRUST),
KEYSTOREPASSWORD.toCharArray());
sslContext.init(null,trustManagerFactory.getTrustManagers(), null);

factory=sslContext.getSocketFactory();

} catch (KeyManagementException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (KeyStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (CertificateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

最佳答案

我遇到了同样的问题,所以我找到了一个很棒的新库:

dependency 'org.java-websocket:Java-WebSocket:1.3.0'

检查我的答案 here查找有关如何使用此库的更多说明。此库支持 WS、WSS、HEADERS。

关于android - 我在高速公路 websocket 中使用 wss 时无法通信,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35885091/

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