1.客户端
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 API
1.分组
//客户端
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);
另一种分组方式:
//客户端
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.broadcast.emit("msg",{data:"hello,everyone"});
//服务器端给所有客户端广播消息
io.sockets.emit("msg",{data:"hello,all"});