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 wikiをチェックしましたが、関連するものが見つかりませんでした。
私はこれのようにsocket.ioの上に "rpc server"を実装することができますが、socket.ioのネイティブな方法を使う方が良いでしょう。
socket.on('rpc',function(data,callback){ /* e.g. data.name for function name, data.data for the actual data */});
'socket.send'は、データとコールバックの2つのパラメータのみをサポートします。しかし、コールバックは盗聴されています(バグ報告はこちら:https://github.com/LearnBoost/socket.io/issues/645)。私はあなたが今すぐ提案したように実際にやっています(バグ修正あり)。私は 'socket.json.send([name、data]、cb)'と一緒に送る。 (jsonのメッセージフラグ) – Eliasdx
うーん、おそらく 'send'はコールバックを持っていないと思われますが、わかりません。とにかくバインディングがあるだけで、今後変更するのは簡単になるので、当面はいつでも 'emit'に戻すことができます。美学以外の 'emit'を使わない理由は何ですか? –
???どのようにサーバー側*のhandleMessage()関数*がクライアント側で 'callback' *を呼び出すことができるのでしょうか? – cibercitizen1