Skip to content Skip to sidebar Skip to footer

Https://websocket Not Connect Android

I have connect socket http://(with port) url is complete and working but I have connect https://(without port) not working in Java-WebSocket. I use gradle dependency 'org.java-web

Solution 1:

I find a solution!) If you want to use wss:// you should set setWebSocketFactory.. Just like this:

publicvoidconnect() {

    final String url = "wss://echo.websocket.org";
    URI uri=null;
    try{
        uri = newURI(url);
    }
    catch (URISyntaxException e) 
    {
        Log.e(TAG, e.getMessage());
        return;
    }
    mWebSocketClient = newWebSocketClient(uri) {
        @OverridepublicvoidonOpen(ServerHandshake handshakedata) {
            Log.e(TAG,"Connected!");
        }

        @OverridepublicvoidonMessage(String message) {
            Log.e(TAG,"Message: "+message);

        }

        @OverridepublicvoidonClose(int code, String reason, boolean remote) {
            Log.e(TAG,"Disconnected!");

        }

        @OverridepublicvoidonError(Exception ex) {
            Log.e(TAG,"Error: "+ex.getMessage());

        }
    };

    if (url.indexOf("wss") == 0) {
        try {
            SSLContext sslContext = SSLContext.getDefault();
            mWebSocketClient.setWebSocketFactory(newDefaultSSLWebSocketClientFactory(sslContext));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    mWebSocketClient.connect();
}

Solution 2:

Check your manifest:

<uses-permissionandroid:name="android.permission.INTERNET" ></uses-permission><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" >  
</uses-permission

Please post Log Cat!

Solution 3:

Websocket has its own protocols ws:// or wss://(similar to http://, https://), try to use these protocols.

Post a Comment for "Https://websocket Not Connect Android"