웹 채팅방의 Socket.io의 학습

3276 단어

socket.io 시스템api


1. 서비스 단말기

io.on('connection',function(socket));
 , socket

io.sockets.emit('String',data);
 

io.sockets.socket(socketid).emit('String', data);
 

socket.on('String',function(data));
 

socket.emit('String', data);
 socket 

뉴스를 방송하다
// 
socket.broadcast.emit("msg",{data:"hello,everyone"}); 

// 
io.sockets.emit("msg",{data:"hello,all"});

조를 나누다
socket.on('group1', function (data) {
        socket.join('group1');
});
socket.on('group2',function(data){
        socket.join('group2');
 });

클라이언트 전송
socket.emit('group1'), group1 ;
socket.emit('group2'), group2 ;

조를 차내다
socket.leave(data.room);

그룹에 있는 사용자에게 메시지 보내기
// 
socket.broadcast.to('group1').emit('event_name', data);
// 
io.sockets.in('group1').emit('event_name', data);

broadcast 방법은 현재 socket client가 이 그룹에서 연결할 클라이언트 socket을 가져오지 않도록 합니다 **
io.sockets.clients().forEach(function (socket) {
    //.....
})

그룹 정보 가져오기
// ( ) 
io.sockets.manager.rooms

// socketid 
io.sockets.manager.roomClients[socket.id]

// particular room , socket 
io.sockets.clients('particular room')

다른 그룹 방식
io.of('/some').on('connection', function (socket) {
    socket.on('test', function (data) {
        socket.broadcast.emit('event_name',{});
    });
});

클라이언트
var socket = io.connect('ws://103.31.201.154:5555/some')
socket.on('even_name',function(data){
   console.log(data);
})

클라이언트는 ws://103.31.201.154:5555에 연결되지만 서비스 측은 io를 통과할 수 있습니다.of('/some')를 필터합니다.
또한, Socket.IO는 4개의 API:io를 제공합니다.configure, io.set, io.enable, io.disable.그중에서 io.set 항목에 대한 설정, io.enable 및 io.disable 는 부울 구성을 한 항목으로 설정하는 데 사용됩니다.io.configure는 서로 다른 생산 환경 (예:devlopment,test 등) 에 대해 서로 다른 파라미터를 설정할 수 있습니다.

2. 클라이언트


socket 연결 만들기
var socket = io("ws://103.31.201.154:5555");

서비스 메시지 수신
socket.on('msg',function(data){
    socket.emit('msg', {rp:"fine,thank you"}); // 
    console.log(data);
});

socket.on ("String",function (data) 은 서버에서 보내는 메시지를 감청합니다. Sting 파라미터는 서버에서 emit의 첫 번째 파라미터와 같습니다.
socket 연결 끊기 및 재연결 감청
socket.on('disconnect', function() {
    console.log(" ");
});
socket.on('reconnect', function() {
    console.log(" ");
});

클라이언트 socket.on()이 수신하는 이벤트:
연결 성공connecting:disconnect 연결 중:연결 끊기connectfailed: 연결 실패 error: 오류가 발생했고 다른 이벤트 형식에 의해 처리될 수 없습니다 메시지: 같은 서버 쪽 메시지 이벤트anything: 같은 서버 쪽 anything 이벤트reconnectfailed: 재연결 실패reconnect: 재연결 성공reconnecting: 첫 번째 연결 시 이벤트 트리거 순서는 다음과 같습니다:connecting->connect;연결을 잃었을 때 이벤트 트리거 순서는 다음과 같습니다:disconnect->reconnecting (여러 번 할 수 있음) ->connecting->reconnect->connect.
출처:http://www.cnblogs.com/xiezhengcai/p/3956401.html

좋은 웹페이지 즐겨찾기