看了下官网的对于socket.io的一些描述并不是很详尽,很多方法看了之后也很迷糊,亲自学习测试了一上午终于搞懂了大部分,如有不实之处还望不吝赐教
1.io(url) //链接服务器
2.io.protocol //表示协议版本号。
3.io.open() //手动连接服务器
4.io.id //独一无二的id值,连接到服务端时被设置
5.io.connect() //同open
6.io.emit()
客户端: io.emit(name,data1,function(data2)) //name为事件名,data1为要传入到后台的数据,data2为接收到后台的数据
与服务端配套使用
服务端:io.on(name,function(data1,fname){ name为事件名,data1为前端传入后台的数据,fname为回调函数,作用是传数据到客户端
fname(data2)
})
7.io.send()
//和emit在做同样的事情,但是send的兼容性更好 ,emit只限于 socket.io
7.io.on(name,(data1,data2,[callback]))
//在客户端注册一个对服务端事件的处理器,参照第6点
8.socket.commpress(value)
//value 为布尔值,可选参数,设置修改器,是否对向服务器传输的数据进行压缩。默认为true,即压缩。
socket.compress(false).emit(‘an event’, { some: ‘data’ });
9.socket.close() //手动关闭客户端对服务端的连接
10.socket.disconnect() //同close
11.Event: ‘name’ //name为事件名,在on中使用
1)Event: 'connect' //连接成功后执行该函数。
2)Event: 'connect_error' //error (对象) 错误对象,连接错误触发事件处理器。
socket.on('connect_error', (error) => {
// ...
});
3)Event: 'disconnect' //reason (字符串) 服务器或客户端丢失连接的原因,丢失连接时触发时间处理器
socket.on('disconnect', (timeout) => {
// ...
});
4)Event: 'reconnect' //attempt (字符串) 重连次数,成功的重连时触发时间处理器
socket.on('reconnect', (timeout) => {
// ...
});
5)Event: 'reconnect_attempt' //attempt (字符串) 重连次数,成功的重连时触发时间处理器
socket.on('reconnect_attempt', (timeout) => {
// ...
});
6)Event: 'reconnecting' //attempt (字符串) 尝试重连次数,尝试重连时触发时间处理器
socket.on('reconnecting', (timeout) => {
// ...
});
7)Event: 'reconnect_error' //attempt (字符串) 错误对象,重连错误时触发时间处理器
socket.on('reconnect_error', (timeout) => {
// ...
});
8)Event: 'reconnect_failed'
socket.on('reconnect_failed', (timeout) => {
// ...
});
9)Event: 'ping'
socket.on('ping', (timeout) => {
// ...
});
10)Event: 'pong' //ms (数值型) 自ping到pong经历的毫秒数
socket.on('pong', (timeout) => {
// ...
});
会继续发布服务端的笔记,以及用socket.io、express脚手架、HTML/vue搭建在线聊天室。。。
https://blog.csdn.net/weixin_44000275