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