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"