如何通过http代理发送Secure WebSocket

时间:2014-07-08 12:07:19

标签: android sockets proxy websocket network-programming

我试图在WebSocket Echo ServerWeberknecht WebSockets的帮助下到达little proxy server。我能够reach ws:// Websocket with the help of this link。但我的要求是wss://(WebSocket Secure)通过proxy与服务器联系。

我无法实现这一目标。我用Google搜索,但只获得了descriptive个链接,但没有示例代码。 Stackoverflow链接也没什么用处 1)Link1
2)Link2

我遵循的步骤是
1)创建一个普通的套接字,并作为described here进行代理连接 2)升级socket from plain socket to SSLSocket
3)现在尝试在wss(443)端口上访问echo webserver。

获取错误说连接已关闭,有时是“普通套接字?”有点例外。

如果有人尝试过相同的操作,请告诉我,并将我重定向到正确的链接。

1 个答案:

答案 0 :(得分:0)

我成功地使用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 client library (Java SE 1.5+, Android)"详情。