WebSockets(或AJAX长轮询等)可以在与原始HTTP请求不同的端口上运
我想编写一个使用带有node.js和socket.io的WebSockets与Django结合使用的应用程序,并将通过Redis共享数据(该句中有很多流行语!).
如果我在另一个端口(例如5555)上运行节点,我是否可以使用WebSocket连接它(或使用socket.io的后备方法,如长轮询等)或same origin policy会给我带来问题吗? 如果是这样,我怎么能绕过它们呢?
Socket.io支持JSONP轮询,它通常用于跨域长轮询(除了
CORS,每个浏览器都不支持).关于WebSockets的跨域主题 –
specification声明如下:
您“应该”能够使用具有不同端口的WebSockets,事实上您可能没有其他选择,因为其他Web服务器将使用像80这样的标准端口来为您的基于Django的应用程序提供服务.如果您使用相同的域和端口,则浏览器特定的parallel connection limits也可能存在问题(例如,当您尝试在同一浏览器上下文中打开多个选项卡时,您可以在Facebook聊天中看到此信息 – 每个选项卡都连接到不同的子域在长期轮询期间克服这些限制). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |