无法连接到websocket



我使用Ratchet创建了一个PHP websocket。这个Websocket运行在我的内部服务器10.0.4.1608080端口上。

我正试图从一个启用SSL的网站连接到它"又名使用https协议。"

当尝试从FireFox浏览器连接到websocket时,我从浏览器得到安全问题,因为我在安全/非安全连接之间混合。这是我在javascript的控制台中看到的错误。

SecurityError: The operation is insecure.

为了解决安全问题,我创建了一个隧道代理,允许我接受10.0.4.160:58443上的连接并将其连接到端口127.0.0.1:8080。这个安全隧道应该允许我保持连接到websocket的安全,并绕过浏览器的安全检查。

然而,每次我试图连接到websocket我得到一个错误

WebSocket连接到'wss://10.0.4.160:58443/'失败:错误连接建立:net:: err_time_out

这是用来连接websocket的jQuery脚本
<script>
    $(function(){
        if ("WebSocket" in window)
        {
            var conn = new WebSocket('wss://10.0.4.160:58443');
            conn.onopen = function(e) {
                console.log("Connection established!");
                showMessage('Connected', 0);
            };
            conn.onmessage = function(e) {
                console.log(e.data);
                showMessage(e.data, 1);
            };
            conn.onclose = function(e) {
                console.log(e.code);
                console.log(e.reason);
            };              
            conn.onerror = function(e) {
                console.log(e);
            };      
        } else {
            console.log('Your browser does not support Websocket!');
        }
        function showMessage(msg, append){
            if(append){
                $('#status').append('<br>' + msg);
                return;
            }
            $('#status').text(msg);
        }
    });
</script>

这是我当前的通道配置

[websockets]
client = yes
accept = 58443
connect = 8080
verify = 2
CAfile = ca-certs.pem
debug = 7
OCSPaia = yes

如何从浏览器连接到websocket ?谢谢你

在http://www.html5rocks.com/en/tutorials/websockets/basics/阅读更多关于html5 websockets的内容

插座。IO是一个流行的web套接字库,详见www.socket.io

没有足够的信息来诊断问题。请提供服务器日志。

  • 您的服务器是否识别连接尝试?
  • 您的服务器处理客户端服务器握手?

如果你的服务器识别到一个连接尝试,那么你的问题很可能是握手。你的JavaScript没有问题。


额外信息:

另一种类型的连接:(我们将此类型称为1)

|SERVER(PHP)| <--- CONNECTION --> |SERVER(websocket)|

您正在使用的类型:(我们将此类型称为2)

|BROWSER(client)| <----CONNECTION --> |SERVER(websocket)|

当使用类型1连接作为类型2连接时,您的主web服务器可能会溢出,这将导致服务器性能问题。网络主机如:Godaddy, Hostgator..等. .将终止正在淹没其服务器的连接,因为它们被视为DDOS攻击。

我不知道棘轮是什么,但保持一个服务器&客户端连接打开PHP将需要保持打开&这绝对绝对绝对绝对绝对绝对是个好主意。查看用c#或c++等语言创建的服务器

相关内容

  • 没有找到相关文章

最新更新