我尝试用java applet连接到wss (Secure Websocket)服务器,但是ssl握手失败,没有任何有用的日志条目。
如果我连接到wss://echo.websocket.org握手工作正常,所以我认为这不是一个一般的java代码错误。
如果我尝试连接到我自己的服务器,HelloDone位被发送(由wireshark验证),但连接以挂起结束,它不在日志中。正常情况下,日志中应该有以下消息:"*** ServerHelloDone"
查看我的java控制台日志"javax.net.debug=sll"http://pastebin.com/ZuvKww4J它没有被截断,只是在那里结束。几秒钟后,tcp连接超时消息被添加到日志中。
我使用下面的java代码示例:https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/example/SSLClientExample.java
但是我使用:
sslContext.init( null, null, null );
对于服务器,我有两个不同的测试系统:
- 端口443 a ha-proxy
我尝试用不同的方法来隔离错误。首先,我使用stunnel强制使用与echo.websocket.org"SSL_RSA_WITH_RC4_128_SHA"相同的密码,但没有成功。
第二,我检查了ssl证书本身是否仍然有效。但作为web浏览器和正常的https连接由我的java applet,都接受来自服务器(相同的服务器。
问题由Java-WebSocket维护者解决。大谢谢