Socket.io传递参数

时间:2016-02-17 10:03:06

标签: json node.js socket.io

我目前正在使用Socket.ioNode.js

我想在x方法上使用/传递on参数,但它不起作用。

以下是基本示例,在客户端,我使用以下方法:

socket.tell('createRoom', 'My Room Name');

在服务器端,我使用以下行注册了事件:

socket.on('createRoom', function(name) {
    // Handling...
    console.log('Create the new room ' + name);
});

工作正常。第二个参数将在on - Method上传递。但是当我尝试添加另一个参数时,anonymous函数将不会传递,这里是示例:

socket.tell('createRoom', 'My Room Name', { roomProperty1: 'Hello', roomProperty2: 123 });

socket.on('createRoom', function(name, properties) {
    // Handling...
    console.log('Create the new room ' + name + ' with following properties: ' + JSON.stringify(properties));
});

每次properties都是undefined,但我无法理解原因。

谁能告诉我,怎么了?谢谢你的帮助:)

1 个答案:

答案 0 :(得分:0)

当我尝试你的例子时,我得到了

  

TypeError:socket.tell不是函数

但是当我用

运行它时
socket.emit('createRoom', 'My Room Name', { roomProperty1: 'Hello', roomProperty2: 123 });

我得到了预期的输出:

  

使用以下属性创建新房间我的房间名称:{“roomProperty1”:“Hello”,“roomProperty2”:123}