Android:socket.io.socket.engineio.client.EngineIOException:XHR轮询错误

Android:socket.io.socket.engineio.client.EngineIOException:XHR轮询错误,android,socket.io,Android,Socket.io,有时我会遇到这样的错误: io.socket.engineio.client.EngineIOException:xhr轮询错误 连接到插座的我的代码: try { HostnameVerifier myHostnameVerifier = new HostnameVerifier() { @Override public boolean verify(String hostname, SSLSession session) { r

有时我会遇到这样的错误:

io.socket.engineio.client.EngineIOException:xhr轮询错误

连接到插座的我的代码:

try {
    HostnameVerifier myHostnameVerifier = new HostnameVerifier() {
        @Override
        public boolean verify(String hostname, SSLSession session) {
            return true;
        }
    };
    TrustManager[] trustAllCerts= new TrustManager[] { new X509TrustManager() {
        public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
        }

        public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
        }

        public X509Certificate[] getAcceptedIssuers() {
            return new X509Certificate[0];
        }
    }};

    SSLContext mySSLContext = null;
    try {
        mySSLContext = SSLContext.getInstance("TLS");
        try {
            mySSLContext.init(null, trustAllCerts, null);
        } catch (KeyManagementException e) {
            e.printStackTrace();
        }
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
    OkHttpClient okHttpClient = new OkHttpClient.Builder().hostnameVerifier(myHostnameVerifier).sslSocketFactory(mySSLContext.getSocketFactory()).build();


    IO.setDefaultOkHttpWebSocketFactory(okHttpClient);
    IO.setDefaultOkHttpCallFactory(okHttpClient);

    IO.Options opts = new IO.Options();
    opts.callFactory = okHttpClient;
    opts.webSocketFactory = okHttpClient;

    G.socket = IO.socket(G.SOCKET_ADDRESS, opts);
    G.socket.connect();
} catch (URISyntaxException e) {
    Log.i("errorCheck", "E: "+e);
    e.printStackTrace();
}
但有时效果很好。在其他情况下,情况并非如此。
我使用HTTPS,但在443端口上不起作用。
我从用户那里获得所有权限,有时
socket.io
工作正常


如何修复它以使其始终工作?

最后,我将传输从
轮询更改为
websocket
,并修复了我的问题(客户端和服务器端)

安卓:

IO.Options opts = new IO.Options();
opts.transports = new String[] { WebSocket.NAME };

socket = IO.socket(SOCKET_ADDRESS, opts);
socket.connect();
服务器:

io.set('transports', ['websocket']);