1
有没有一种方法可以定义自定义function (name,data,callback)
,然后在客户端发送函数调用时由socket.io调用?Socket.IO:调用自定义函数,而不是使用socket.on
而不是使用socket.on(name,function(data,callback){...})
socket.io应该调用我的函数。这将使得实现每个socket.io函数所需的逻辑变得更容易,并且我不需要在每个连接上为整个rpc函数堆调用socket.on
。
我检查了socket.io维基,但没有找到任何相关的。
我知道我可以在socket.io之上实现一个“rpc服务器”,但最好使用socket.io的原生方式。
socket.on('rpc',function(data,callback){ /* e.g. data.name for function name, data.data for the actual data */});
'socket.send'只支持2个参数:数据和回调。不过回调被窃听(这里提交bug报告:https://github.com/LearnBoost/socket.io/issues/645)。我实际上就像你现在所建议的那样(使用bugfix)。我用'socket.json.send([name,data],cb)''发送。 (json消息标志) – Eliasdx
嗯,也许'发送'不应该有回调,我不知道。你总是可以恢复到“发射”状态,因为无论如何你只需要一个绑定,将来很容易就可以改变它。除了美学之外,不使用“排放”的其他原因? –
???它是如何假设服务器端的handleMessage()函数*能够在客户端调用'callback' * *? – cibercitizen1