我正在使用NowJS,但我认为对于非常高频率的消息,Socket.IO可能更有效(可能比现在的函数调用开销更小)。
我想知道是否有可能“劫持”现在已经建立的IO套接字并使用它进行多路复用,希望能够对两者进行合理的比较。
我尝试了以下几点:
// On the server
user.socket.on("my_update", receiveUpdate);
// On the client
now.core.socketio.emit("my_update", { hello: "world" } );但服务器事件从未被触发。
我的问题:如何使用NowJS正在使用的io套接字?或者我不能?
对于额外的点,使用socket.io emit()比NowJS代理的函数调用快多少?
发布于 2012-02-14 16:36:40
是的是可能的。
我只是很难找到包含他的套接字的正确的用户对象。结果显示,用户对象作为调用事件的上下文传递:
// On the server
nowjs.on("connect", function(){
this.socket.on("my_update", receiveUpdate);
// ( user === this )
});通过套接字发出的消息似乎与现在发出的消息很好地交织在一起。
为了说明它的价值,我从NowJS源代码收集了一个现有发出消息的列表。这些应该被视为保留事件名称!
connect, del, disconnect, groupdel, grouprv, join, leave, multicall, newgroup,
rd, removegroup, rfc, rv我还没有测试性能上的差异,所以问题的一部分还没有解决.
https://stackoverflow.com/questions/9144305
复制相似问题