如何通过http代理发送Secure WebSocket



我试图通过小型代理服务器在WebSocket的帮助下到达WebSocket Echo服务器。在这个链接的帮助下,我能够到达ws://Websocket。但是我的要求是wss://(WebSocket Secure)通过代理到达服务器。

我不能做到这一点。我谷歌,但只有得到描述性的链接,而不是一个示例代码。Stackoverflow链接也没什么用。
1) Link1
2) Link2

接下来的步骤是
1)创建一个正常的套接字,并按照这里的描述执行CONNECT到代理。
2)将socket从plain socket升级为SSLSocket
3)现在尝试在wss(443)端口上到达echo web服务器。

得到一个错误,说连接关闭,有时"普通套接字?"类异常。

请告诉我是否有人尝试过同样的方法,并将我重定向到正确的链接。

我使用nv-websocket-client库通过代理服务器成功地与wss://echo.websocket.org通信。

private static WebSocket connect() throws Exception
{
    String PROXY  = "http://......";
    String SERVER = "wss://echo.websocket.org";
    return new WebSocketFactory()
        .getProxySettings()
        .setServer(PROXY)
        .getWebSocketFactory()
        .setSSLContext(NaiveSSLContext.getInstance("TLS"))
        .createSocket(SERVER)
        .addListener(new WebSocketAdapter()) {
            ......
        }
        .connect();
}

参见"WebSocket客户端库(Java SE 1.5+, Android)"。

相关内容

  • 没有找到相关文章

最新更新