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"});