首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将SSL套接字打开到socket-io服务器上的NullPointerException

将SSL套接字打开到socket-io服务器上的NullPointerException
EN

Stack Overflow用户
提问于 2014-12-12 14:50:40
回答 1查看 386关注 0票数 1

我正试图在Gottox SocketIO的帮助下,从android连接SocketIO。它在android版本上运行得很好,可以降低4.4,但总是在V4.4.2上给我一个NullPointerException!

建立联系的方式如下:

代码语言:javascript
复制
    SSLContext ssl_context = null;
    try {
        ssl_context = SSLContext.getInstance("TLS", "HarmonyJSSE"); 
    } catch (NoSuchAlgorithmException |  KeyManagementException | NoSuchProviderException  e) { //
        Log.e(LOGIDENT,e.getMessage());
    }
_socket = new SocketIO("SOCKETURI");
_socket.connect(new IOCallback() { ... });

这里是StackTrace:

代码语言:javascript
复制
12-12 15:41:13.355  21152-21308/com.mynamespace W/System.err﹕ java.lang.NullPointerException
12-12 15:41:13.375  21152-21308/com.mynamespace W/System.err﹕ at com.android.org.conscrypt.SSLSocketWrapper.initTransportLayer(SSLSocketWrapper.java:48)
12-12 15:41:13.380  21152-21308/com.mynamespace W/System.err﹕ at com.android.org.conscrypt.SSLSocketImpl.init(SSLSocketImpl.java:186)
12-12 15:41:13.380  21152-21308/com.mynamespace W/System.err﹕ at com.android.org.conscrypt.SSLSocketImpl.<init>(SSLSocketImpl.java:111)
12-12 15:41:13.385  21152-21308/com.mynamespace W/System.err﹕ at com.android.org.conscrypt.SSLSocketWrapper.<init>(SSLSocketWrapper.java:37)
12-12 15:41:13.390  21152-21308/com.mynamespace W/System.err﹕ at com.android.org.conscrypt.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:91)
12-12 15:41:13.400  21152-21308/com.mynamespace W/System.err﹕ at com.android.okhttp.Connection.upgradeToTls(Connection.java:999)
12-12 15:41:13.405  21152-21308/com.mynamespace W/System.err﹕ at com.android.okhttp.Connection.connect(Connection.java:955)
12-12 15:41:13.415  21152-21308/com.mynamespace W/System.err﹕ at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:411)
12-12 15:41:13.430  21152-21308/com.mynamespace W/System.err﹕ at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:343)
12-12 15:41:13.440  21152-21308/com.mynamespace W/System.err﹕ at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:289)
12-12 15:41:13.440  21152-21308/com.mynamespace W/System.err﹕ at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
12-12 15:41:13.440  21152-21308/com.mynamespace W/System.err﹕ at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
12-12 15:41:13.445  21152-21308/com.mynamespace W/System.err﹕ at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:179)
12-12 15:41:13.450  21152-21308/com.mynamespace W/System.err﹕ at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:246)
12-12 15:41:13.455  21152-21308/com.mynamespace W/System.err﹕ at io.socket.IOConnection.handshake(IOConnection.java:317)
12-12 15:41:13.460  21152-21308/com.mynamespace W/System.err﹕ at io.socket.IOConnection.access$600(IOConnection.java:43)
12-12 15:41:13.460  21152-21308/com.mynamespace W/System.err﹕ at io.socket.IOConnection$ConnectThread.run(IOConnection.java:203)

有没有人知道这个问题或类似的问题?或者,是否有可能进入com.android.okhttp.Connection.upgradeToTls,因为我在任何在线资源中都找不到第999行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-06 01:17:28

我能够解决这个问题的唯一方法是更新到最新的Java,并将WebsocketTransport实现从Gottox SocketIO更改为传入一个新的套接字,而不是按照我对问题的评论使用旧的DefaultWebSocketFactory,并在这个按下上提供了解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27446164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档