웹 채팅방의 Socket.io의 학습
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.