parse-community/ParseLiveQuery-Android

SSLHandshakeException: Connection closed by peer

reaurr opened this issue · 4 comments

Hi,
When I try to run the app, logcat give me this err:

Socket onError
                                                         javax.net.ssl.SSLHandshakeException: Connection closed by peer
                                                             at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
                                                             at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:357)
                                                             at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:267)
                                                             at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:237)
                                                             at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:148)
                                                             at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:186)
                                                             at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:121)
                                                             at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:100)
                                                             at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
                                                             at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
                                                             at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
                                                             at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
                                                             at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)

I have internet permission.
My inits:

 Parse.initialize(...................);
   try {
            ParseLiveQueryClient parseLiveQueryClient = ParseLiveQueryClient.Factory.getClient(new URI("wss://192.168.1.2:1337"));
            parseLiveQueryClient.connectIfNeeded();
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }

Seems your parse server didn't have SSL certification.
You may try one of the following initialize configurations

Let LiveQuery config the websocket URI refer from parse server URL (recommended)

ParseLiveQueryClient parseLiveQueryClient = ParseLiveQueryClient.Factory.getClient();

or

ParseLiveQueryClient parseLiveQueryClient = ParseLiveQueryClient.Factory.getClient(new URI("ws://192.168.1.2:1337"));

Yes, it works. My stupid mistake. Problem was : URI("wss...") to change URI("ws...")
Thank you hermanliang.