我正在使用 NowJS,但认为 Socket.IO 对于高频消息可能更有效(可能比 nowjs 函数调用开销更少)。
我想知道是否有可能“劫持”Now 已经建立的 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 emmit() 比 NowJS 代理的函数调用快多少?
最佳答案
是的,这是可能的。
我只是找不到包含他的套接字的正确用户对象。结果用户对象作为调用事件的上下文传递:
// On the server
nowjs.on("connect", function(){
this.socket.on("my_update", receiveUpdate);
// ( user === this )
});
通过套接字发出的消息似乎与来自 Now 本身的消息交错良好。
无论如何,我从 NowJS 源中收集了现有发出消息的列表。这些应该被视为保留事件名称!
connect, del, disconnect, groupdel, grouprv, join, leave, multicall, newgroup,
rd, removegroup, rfc, rv
我还没有测试性能上的任何差异,所以这部分问题仍然悬而未决......
关于node.js - 是否可以搭载 now.js IO 套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144305/