2017-01-13 6 views
0

클라이언트에서 서버 측으로 데이터를 보내려고합니다. 나는 undefined 만받습니다. 사용자가 ledOn 함수를 클릭하여 1을 보내고 ledOff를 클릭하여 0을 서버에 보내고 싶습니다.socketIO 데이터가 정의되지 않았습니다.

server.js

io.sockets.on('connection', function(socket){ 

    socket.on('ON', function (data) { 
     console.log(data); 

    }); 
    socket.on('OFF', function (data) { 
     console.log(data); 

    }); 
}); 

client.js

function ledOn() { 
socket.emit ('ON'); 
    document.getElementById("ON").value = "1" 
console.log("Led is ON "); 
} 

function ledOff() { 
socket.emit('OFF'); 
    document.getElementById("OFF").value = "0" 
console.log("Led is Off"); 

} 

하여 index.HTML

<div id="ON"> 
<input type="submit" value="Led ON" onclick="ledOn()"> 
</div> 
<div id="OFF"> 
<input type="submit" value="Led OFF" onclick="ledOff()"> 
</div> 
+0

리스너를 호출하는 동안 데이터를 전송하지 않습니다. 'socket.emit ('OFF', 'yourData');와 같아야합니다. 첫 번째 매개 변수는 리스너 이름이고 나머지는 매개 변수입니다. – Shubham

+0

감사합니다. 나는 그것을 완전히 건너 뛰었습니다. – Ekom

답변

1

변경은 "ON" 또는 "OFF" 이벤트의 경우 일부 데이터를 내 보냅니다. 예를 들어, 아래에 및 "0"ledOn()ledOff()에 각각 보내고 있습니다. Socket.IO docs 밖으로

function ledOn() { 
    socket.emit ('ON', "1"); 
    document.getElementById("ON").value = "1" 
    console.log("LED is on"); 
} 

function ledOff() { 
    socket.emit('OFF', "0"); 
    document.getElementById("OFF").value = "0" 
    console.log("LED is off"); 
} 

확인은 예제의 일부를 볼 수 있습니다.

관련 문제