クライアント側変数を使って任意のコマンドを受け取り実行できるクライアント側関数を作りたいです。これらの関数をサーバーから送信するには、socket.io を使用して、コマンドとなる匿名関数を含む JSON オブジェクトを送信します。次のようになります。
//client side
socket.on('executecommand', function(data){
var a = "foo";
data.execute(a); //should produce "foo"
});
//server side
socket.emit('executecommand', {'execute': function(param){
console.log(param);
}});
しかし、試してみると、クライアント側は空の json オブジェクト ( data == {}
) を受け取り、データにメソッド execute が含まれていなかったため、例外をスローしました。ここで何がうまくいかないのですか?