node.js中使用socket.io

1.客戶端express

var socket=new io.connect('ws://localhost:8001'); socket.on('transfer',function(data){ console.log(data); }); socket.emit('a',{a:'hello',b:'world'});

2.服務器端服務器

var app=express(); var http=require('http').Server(app); var io=require('socket.io')(http); var data=[2.3,5,6,7]; io.listen(8001); io.on('connection',function(socket){ socket.emit('transfer',data); });

 

socket.io APIapp

1.分組socket

 

//客戶端
socket.emit('some'); //服務端
socket.on('group1', function (data) { socket.join('group1'); }); //踢出分組
socket.leave(data.room); 對分組中的用戶發送信息 //不包括本身
socket.broadcast.to('group1').emit('event_name', data); //服務端
io.sockets.in('group1').emit('event_name', data);

另外一種分組方式:ui

 

//客戶端
var socket = io.connect('ws://localhost:3000/some') socket.on('even_name',function(data){ console.log(data); }); //服務端
io.of('/some').on('connection', function (socket) { socket.on('test', function (data) { socket.broadcast.emit('event_name',{}); }); });

 

2.廣播socket.io

//給除了本身之外的客戶端廣播消息
socket.broadcast.emit("msg",{data:"hello,everyone"}); //服務器端給全部客戶端廣播消息
io.sockets.emit("msg",{data:"hello,all"});
相關文章
相關標籤/搜索