需要不使用框架写出一个java服务器的socket连接, 本来ws的握手用Socket解决了,但是碰到wss卡住了,不知道方法,有没有人能提供一份websocket的wss成功握手的代码给我,只需要握手成功能够互相接收正确的数据就行了!!! 有的人联系我一下,价钱可以谈,来个大佬吧
WebSocket正常连接http开头的链接都没什么问题,但是连接wss开头的链接IOS没有问题,安卓这边就连接不上了。通过查找资料发现需要对WebSocketClient设置setWebSocketFactory()这个方法。在new完WebSocketClient后面加入以下代码再进行连接就可以了。
// WebSocket连接wss链接 // This part is needed in case you are going to use self-signed // certificates TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { public java.security.cert.X509Certificate[] getAcceptedIssuers() { return new java.security.cert.X509Certificate[] {}; }
public void checkClientTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
public void checkServerTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
} };
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
// Otherwise the line below is all that is needed.
// sc.init(null, null, null);
wsc.setWebSocketFactory(new DefaultSSLWebSocketClientFactory(sc));
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。