发送信息
socket.io既然是用来实现通讯的,那么如何发送、接收信息才是根本。
在socket.io中,emit函数用于发送数据,还记得在入门篇中,我们使用send的方式实现了信息的互发,其实send函数只是emit的封装,实际上还是使用了emit,且看send函数是如何实现的:
function send(){
var args = toArray(arguments);
args.unshift('message');
this.emit.apply(this, args);
return this;
}
在send函数中,获取到原来的参数,并在原来的基础上插入了一个参数message,然后调用了emit函数。通过send函数的实现,我们也学会了emit函数的用法,它有连个参数,第一个参数是事件名称,在接收端注册该事件就可以接收到发送过去的信息,事件名称可以自由定义,在不同的场景下,我们可以定义不同的事件来接收消息。第二个参数才是发送的数据。了解清楚了工作原理,下面来将send替换成emit函数发送信息:
//app.js
io.on('connection',function(socket){
socket.emit('message','连接成功!');
socket.on('message',function(data){
});
});
将index.html和app.js中发送信息的方式改写成emit函数的形式。