2013-11-21 34 views
0

我想在客户端和服务器之间创建两个WebSocket连接。第一个连接用于将关键时间应用程序的纯文本发送到端口1337.通过在端口443上使用tls,第二个连接应用于安全数据传输。我使用以下代码创建两个WebSocket:是否可以在FireFox/Safari中创建多个WebSocket?

var ip = document.URL.split("/")[2].split(":")[0]; 
var wss = new WebSocket("wss://" + ip + ":443"); //secure 
var ws = new WebSocket("ws://" + ip + ":1337"); //realtime 

那么,在Chrome和Opera中运行它就像一个魅力。但是当我在FF中测试它时,它似乎建立了第一个(安全)连接,并且当涉及到第二个连接时,中止全部执行代码。在Safari中,我收到一条错误消息,表示服务器已关闭连接,但仍在运行。在这两种情况下,它通过https下载HTML页面和CSS等,但JavaScript执行失败。

有没有人知道这里的问题是什么?如上所述,在Chrome和Opera中,一切正常。我还没有测试IE。

回答

0

所以我想我现在知道什么这个问题:

的WebSockets不应在混合内容的环境中使用;也就是说,您不应该从使用HTTPS加载的页面打开不安全的WebSocket连接,反之亦然。事实上,一些浏览器明确禁止这一点,包括Firefox 8及更高版本。

https://developer.mozilla.org/en-US/docs/WebSockets/Writing_WebSocket_client_applications#Security_considerations

所以好像我无法打开一个HTML页面上的不同安全级别的两个连接。

相关问题