안녕하세요 저는 현재 일종의 "채팅"시스템에서 일하고 있습니다.socket.io 특정 클라이언트에 방출 후 연결 끊기 NODE javascript
서버 : 명시 적으로 NodeJs - HTTPS 통신 : [email protected]
클라이언트 :
io.sockets.on('connection', function(socket){
socket.on('HELLO', function(data){
socket.user = data.user;
socket.emit('WELCOME', socket.user);
});
socket.on('REGISTER', function(data){
console.log('room: '+socket.user);
socket.join(socket.user);
socket.emit('SIGNED', socket.user);
console.log('SIGNED IN: '+socket.user);
});
socket.on('GO', function(data){
//some logic happens where a list of users gets loaded
//which is identical to the socket.user and its room
//... loop
io.in(partners[i].user).emit('message', { somedata: 'asd' });
}
socket.on('disconnect' ..... blaaa blaa)
그래서, basicly 내가 여기서 뭘하려고 무엇을 : 서버
var socket = io.connect();
socket.emit('HELLO', {user:'someuserid'});
socket.on('WELCOME', function(data){
socket.emit('REGISTER', {});
});
socket.on('SIGNED', function(data){
console.log(data.user);
socket.emit('GO', {});
});
socket.on('message', function(data){
console.log(data.somedata);
});
특정 방으로 메시지를 보내 특정 사용자에게 메시지를 보내는 문제를 해결하는 방법입니다.
이 :
io.in(partners[i].user).emit('message', { somedata: 'asd' });
이 : 동일한에서
partners[i].socket.emit('message', { somedata: 'asd' });
결과 :
room: 540246a3e4b0a64a28e1ec59
SIGNED IN: 540246a3e4b0a64a28e1ec59
room: 540504ba0b526b274398480e
SIGNED IN: 540504ba0b526b274398480e
to: 540246a3e4b0a64a28e1ec59
disconnected:540246a3e4b0a64a28e1ec59
사용자 레지스터, 접속 특정 chatpartners에 메시지를 방출 원 도착 배열 파트너 [i]에서. 개의 발광가 사용자를 발사되면
이 메시지는 내가 무슨 일을하고있는 중이 야... 단절로 배출하도록되어?
당신의 도움에 대한
감사합니다 (스크립트 내가 가장 중요한 부분을 붙여 .. 분명 완전하지 않습니다).