遵循此说明 http://socketo.me/docs/push我有这个工作。
但是,我希望我的服务也与旧浏览器(IE 8 等)兼容,因此我需要使用 flash 回退(如 web_socket.js 或类似的)来执行此操作:
function initPull() {
var conn = new ab.Session(
// The host (our Ratchet WebSocket server) to
'ws://'+PUSH_SOCKET_SERVER+':'+PUSH_SOCKET_PORT+'/',
// Once the connection has been established
function() {
conn.subscribe(TOPIC_PREFIX+rID, function(topic, data) {
//Trigger action
aTrigger(data);
});
},
// When the connection is closed
function() {
console.warn('WebSocket connection closed');
},
// Additional parameters, we're ignoring the WAMP sub-protocol for older browsers
{
'skipSubprotocolCheck': true
}
);
}
最佳答案
Ratchet 支架 web-socket-js ,这是一种天然的 polyfill。 ZMQ 代码位于服务器端,如果您的客户端使用 native WebSockets 或 Flash polyfill,则仍会执行。
保持推送教程中的代码不变,将 web-socket-js 代码添加到客户端,然后查看 FlashPolicy component 中的代码。 .
有关更复杂的示例,请参阅 this example关于如何在不必运行两个单独的进程的情况下提供 Flash 策略文件的服务器。
关于php - Ratchet PHP zeromq 回退到旧浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18276448/