
강의 #5
클라이언트 -> 서버로 향하는 메시지 수신하기
websocket.on("message", function incomming(message) {
message = JSON.parse(message);
console.log(message);
})
Event: 'message'
새로운 접속자 정보 수신하기
- switch문으로 받은 메세지 코드가 connect_name일 때 user_name을 저장할 수 있게 한다.
- 갱신한 user정보를 클라이언트 측에도 전달한다
server
websocket.on("message", function incomming(message) {
message = JSON.parse(message);
console.log(message);
switch (message.code) {
case "connect_name":
ALL_WS.forEach(function (element, index) {
if (element.user_id == message.user_id) {
element.user_name = message.user_name;
}
})
sendAllUsers();
break;
}
})
function sendAllUsers() {
let data = {
"code": "all_users",
"msg": JSON.stringify(ALL_WS)
};
ALL_WS.forEach(function (element, index) {
element.ws.send(JSON.stringify(data));
});
}
client
websocket.onmessage = function (e) {
let message = JSON.parse(e.data);
switch (message.code) {
case "my_user_id":
MY_USER_ID = message.user_id;
sendMyNmae(my_user_name);
break;
case "all_users":
let ALL_WS = JSON.parse(message.msg);
$("#divAllUser").html("");
ALL_WS.forEach(function (element, index) {
$("#divAllUser").append(`
<div>
${element.user_name}
</div>
`);
});
break;
}
}
