node 채팅 방 만들기 > 질문답변

본문 바로가기
사이트 내 전체검색

질문답변

node 채팅 방 만들기

페이지 정보

profile_image
작성자 미친새
댓글 0건 조회 24,922회 작성일 20-02-21 17:46

본문

var io = require('socket.io').listen(8001);
io.sockets.on('connection', function (socket){
    var room_id;
    socket.on('joinRoom',function(data){
        room_id = data;
        socket.join(room_id); //룸입장
        console.log('JOIN ROOM LIST', io.sockets.adapter.rooms);
    });
    socket.on('leaveRoom',function(){
        socket.leave(room_id);//룸퇴장
        console.log('OUT ROOM LIST', io.sockets.adapter.rooms);
    });
    socket.on('sendMsg',function(data){
        io.sockets.in(room_id).emit('msgAlert',data);//자신포함 전체 룸안의 유저
        //socket.broadcast.to(room_id).emit('msgAlert',data); //자신 제외 룸안의 유저
        //socket.in(room_id).emit('msgAlert',data);  //broadcast 동일하게 가능 자신 제외 룸안의 유저
        //io.of('namespace').in(room_id).emit('msgAlert', data) //of 지정된 name space의 유저의 룸
    });
    socket.on('disconnect', function(){
        console.log('NOT USER DISCONNECT : ', socket.id);
        console.log('ROOM LIST', io.sockets.adapter.rooms);
    });
    /*
    * 룸리스트 콘솔로그
    * socket.io 1.x 에서 io.sockets.manager.rooms => io.sockets.adapter.rooms
    * ROOM LIST { qNADgg3CCxESDLm5AAAA: [ qNADgg3CCxESDLm5AAAA: true ],
          test_room:
          [ qNADgg3CCxESDLm5AAAA: true,
            '0rCX3v4pufWvQ6uwAAAB': true,
            'iH0wJHGh-qKPRd2RAAAC': true ],
          '0rCX3v4pufWvQ6uwAAAB': [ '0rCX3v4pufWvQ6uwAAAB': true ],
          'iH0wJHGh-qKPRd2RAAAC': [ 'iH0wJHGh-qKPRd2RAAAC': true ] }
    */
});


출처: http://opens.kr/63 [opens.kr]

출처: http://opens.kr/63 [opens.kr]

출처: http://opens.kr/63 [opens.kr]

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : 회사명 / 대표 : 대표자명
주소 : OO도 OO시 OO구 OO동 123-45
사업자 등록번호 : 123-45-67890
전화 : 02-123-4567 팩스 : 02-123-4568
통신판매업신고번호 : 제 OO구 - 123호
개인정보관리책임자 : 정보책임자명

공지사항

  • 게시물이 없습니다.

접속자집계

오늘
1,044
어제
1,705
최대
5,296
전체
1,487,195
Copyright © 소유하신 도메인. All rights reserved.