Socket.IO:调用自定义函数而不是使用socket.on

时间:2011-11-14 21:13:55

标签: socket.io

有没有办法可以定义自定义function (name,data,callback),然后当客户端发送函数调用时由socket.io调用?

而不是使用socket.on(name,function(data,callback){...}) socket.io应该调用我的函数。这样可以更容易地实现每个socket.io函数所需的逻辑,而且我不需要在每个连接上为整个堆栈的rpc函数调用socket.on

我检查了socket.io wiki但没有发现任何相关内容。

我知道我可以像这样在socket.io之上实现一个“rpc服务器”,但最好使用socket.io的本地方式。

socket.on('rpc',function(data,callback){ /* e.g. data.name for function name, data.data for the actual data */});

1 个答案:

答案 0 :(得分:3)

不确定我是否明白了。你不能做这样的事吗?

服务器:

function handleMessage(name, data, callback) {
  // ...
}

// listen on all kind of messages
socket.on('message', handleMessage);

客户端:

socket.send(name, data, callback);

这样您只需使用Socket.IO作为WebSockets包装器。

如果您正在寻找更有趣的东西,可以查看nowjsdnode