浏览器间的实时通讯框架 Orbited

openkk 13年前

Orbited 提供一个纯 JavaScript 和 HTML 的浏览器 Socket 通讯包,你可以把它看成是web的路由器和防火墙,允许你的web应用和后端的系统进行通讯,在这基础上你可以实现任何的网络通信协议。

要使用 Oribited 当然还需要一个服务器端,这是用 Python 开发的一个服务程序,用来处理来自浏览器之间的通讯请求。点击这里查看在 Windows 下的安装方法。

这里有一个使用 Oribited 搭建的Web聊天室的在线演示

体系结构图:

浏览器间的实时通讯框架 Orbited

一段示例代码:

   Orbited.settings.port = 9000;     amqp_broker_port = 7000;       amqp_conn = amqp.Connection({host: 'localhost',                                  port: amqp_broker_port,                                  send_hook: function(msg) { // for debugging                                                         append_msg('SENT', msg);                                                    },                                  recive_hook: function(data) { // for debugging                                                          append_msg('RECV', data);                                                      }                               });      amqp_conn.start();        // You should have your server generate a UUID since browser methods      // are unreliable at best      session = amqp_conn.create_session('not_a_great_id' + (new Date().getTime() + Math.random()));        var fedoraproject = "org.fedoraproject-" + session.name;      session.Queue('declare', {queue:fedoraproject, exclusive:true});      session.Exchange('bind', {exchange: "amq.topic",                                queue: fedoraproject,                                binding_key: "org.fedoraproject.#"});        // Bind each queue to the control queue so we know when to stop      session.Exchange('bind', {exchange:"amq.topic",                                queue: fedoraproject,                                binding_key:"control"});

项目主页:http://www.open-open.com/lib/view/home/1334063686530