一、概述
- 1、如何使用
- 使用 Node http 服务器搭建
- 使用 Express 3/4
- 使用 Express 2.X
- 发送和接收事件推送
- 创建你自己的路由
- 发送不确定能否准确送达到客户端的消息
- 正在发送和正在接受的数据(消息确认机制 acknowledgements)
- 广播消息给除当前客户端之外的所有在线客户端
二、服务器端 API
- Server
- new Server(httpServer[, options]);
- new Server(port[, options]);
- new Server(options);
- server.sockets
- server.serverClient([value]);
- server.path([value]);
- server.adapter([value]);
- server.origins([value]);
- server.origins(fn);
- server.attach(httpServer[, options]);
- server.listen(httpServer[, options]);
- server.bind(engine);
- server.onconnections(socket);
- server.of(nsp)
- server.close([callback]);
- Namespace
- Event: 'connect'
- Event: 'connection'
- Flag: 'Volatile'
- Flag: 'local'
- Socket
- socket.id
- socket.rooms
- socket.client
- socket.conn
- socket.handshake
- socket.use(fn)
- socket.send([…args][, ack])
- socket.emit(eventName[, …args][, ack])
- socket.on(eventName, callback)
- socket.once(eventName, listener)
- socket.removeListener(eventName, listener)
- socket.removeAllListener([eventName])
- socket.eventNames()
- socket.join(room[, callback])
- socket.leave(room[, callback])
- socket.to(room)
- socket.in(room)
- socket.compress(value)
- socket.disconnect(close)
- Flag: 'broadcast'
- Flag: 'volatile'
- Event: 'disconnect'
- Event: 'disconnecting'
- Client
- client.conn
- client.request
三、客户端API
- IO
- io.protocol
- io(url[, options])
- 初始化示例
- 使用多路复用
- 携带额外的请求头 extraHeaders
- Manager
- manager event
- Sokect
- socket event
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
socket.to(room)
- room (字符串)
- Return Socket for chaining
设置修改器,使得随后的事件导向这样的一种情况:即仅向当前房间的客户端广播消息(主动广播消息的一方除外)。
为了能对多个房间触发同一个广播,你需要给多个房间链式的执行几次to方法。
io.on('connection', (socket) => {
// to one room
socket.to('others').emit('an event', { some: 'data' });
// to multiple rooms
socket.to('room1').to('room2').emit('hello');
// a private message to another socket
socket.to(/* another socket id */).emit('hey');
});
注意:广播消息下执行emit方法,是无法传入确认消息是否接收的回调函数的,原因你懂的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论