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"});
相关文章
相关标签/搜索