如果(data ..)不适用于socket.io

时间:2014-01-16 20:34:04

标签: node.js sockets socket.io

我在服务器上的控制台打印“my:false”“my:true”,这是Webbrowser的Buttonvalue

但是如果(数据......)不能与= / == / ===一起使用。并且子字符串的测试也没有运行错误。

server.js

io.sockets.on('connection', function (socket) {
    socket.emit('news', { hello: 'world' });
    socket.on('my other event', function (data) {
        if (data=="my :true")
        {led.setHigh();}

        if (data=="my: false")
        {led.setLow();}

        console.log(data);
    });
});

client.js

socket.emit('my other event', { my:data.value });

1 个答案:

答案 0 :(得分:1)

您需要访问data.my。服务器接收的data是动态对象,my是该对象的属性,如下所示:

io.sockets.on('connection', function (socket) {
    socket.emit('news', { hello: 'world' });
    socket.on('my other event', function (data) {
        if (data.my == true) //data.my is a boolean right?
            led.setHigh();
        else
            led.setLow();

        console.log(data); //Will output an object
    });
});