它的工作原理,但你必须做一些修改io.socket库。 而不是使用socketio.jar,导入到src文件夹中的io.socket库(您会在socket.io-java-client包内找到)。在那里,你必须编辑WebsocketTransport类。
在这里,你有解决方案
https://github.com/Gottox/socket.io-java-client/issues/60
public WebsocketTransport(URI uri, IOConnection connection) {
super(uri);
this.connection = connection;
SSLContext context = null;
try {
context = SSLContext.getInstance("TLS", "HarmonyJSSE");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (NoSuchProviderException e) {
e.printStackTrace();
}
try {
context.init(null, null, null);
} catch (KeyManagementException e) {
e.printStackTrace();
}
if("wss".equals(uri.getScheme()) && context != null) {
this.setWebSocketFactory(new DefaultSSLWebSocketClientFactory(context));
}
}
记住调用setDefaultSSLSocketFactory这样的:
socket = new SocketIO();
socket.setDefaultSSLSocketFactory(SSLContext.getDefault());
socket.connect("https://www.myHttpsServer.com:443/");
希望它可以帮助别人;)
你可以分享你的代码,你如何改变传输到只有websocket – 2017-02-28 11:19:00