wss web socket创建问题

时间:2016-06-17 18:27:54

标签: java websocket java-websocket

我得到 - 关闭连接-1,草案org.java_websocket.drafts.Draft_17@75599672拒绝握手,假 - 然后更改代码如下:

套接字创建coode

    webClient = new APICWebClient(new URI(getWebSocketUrl(currentApic.IPAddress, port)), new Draft_17());
                webClient.connect();

Constructor:
    public APICWebClient(URI serverURI, Draft draft) {
        super(serverURI, draft);

        SSLContext sslContext = null;
        try {
            sslContext = SSLContext.getDefault();
        } catch (NoSuchAlgorithmException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        setWebSocketFactory(new DefaultSSLWebSocketClientFactory(sslContext));
        logger.info("Socket object created");
    }

Draft_17。我得到:关闭连接-1,真实。这里有任何帮助。这在套接字创建期间发生。

1 个答案:

答案 0 :(得分:0)

需要创建如下的sslcontext。它会跳过证书。我成功地无需证书即可建立连接

SSLContext sslContext = SSLContext.getInstance("SSL");

// set up a TrustManager that trusts everything
sslContext.init(null, new TrustManager[] { new X509TrustManager() {
            public X509Certificate[] getAcceptedIssuers() {
                    System.out.println("getAcceptedIssuers =============");
                    return null;
            }

            public void checkClientTrusted(X509Certificate[] certs,
                            String authType) {
                    System.out.println("checkClientTrusted =============");
            }

            public void checkServerTrusted(X509Certificate[] certs,
                            String authType) {
                    System.out.println("checkServerTrusted =============");
            }
} }, new SecureRandom());