打造实时交互应用:从聊天室到地图服务
1. 构建 Socket.IO 聊天室应用
在客户端,我们对稍复杂的登录事件做出响应。当接收到 loggedOn 事件时,创建等效的服务器端事件,并将其发送到“secret”房间中监听的任何人:
socket.on('loggedOn', (msg: any) => {
io.sockets.in('secret').emit('userLogOn', { user: msg, time: new Date() });
});
现在客户端基础设施已就位,服务器也已完成。接下来只需添加服务器端组件。由于 GeneralChat 和 SecretChat 组件几乎相同(唯一区别是它们监听的房间不同),我们将专注于其中一个。
1.1 Socket.IO 中的命名空间
想象一下,我们正在编写一个可供任意数量客户端应用使用的服务器,而这些客户端应用也可能使用任意数量的其他 Socket.IO 服务器。如果我们使用与其他 Socket.IO 服务器相同的消息名称,可能会给客户端应用引入错误。为解决此问题,Socket.IO 使用命名空间的概念,允许我们隔离消息,使其不会与其他应用冲突。
命名空间是提供唯一连接端点的便捷方式,我们可以使用以下代码进行连接:
const socket = io.of('/customSoc
超级会员免费看
订阅专栏 解锁全文
1319

被折叠的 条评论
为什么被折叠?



