Search…
2.2.1 命名空间
Socket.io允许你 “namespace”你的sockets,这实际上意味着分配不同的端点或路径。 这是一个有用的功能,可以最大限度地减少资源(TCP连接)的数量,同时通过在通信通道之间引入分离来分离应用程序中的问题。

默认命名空间

我们调用默认名称空间/它是默认情况下连接到的一个Socket.IO客户端,以及默认情况下服务器监听的那个。
此命名空间由io.sockets或简单地io标识为:
1
//以下都被emit到所有socket连接
2
io.sockets.emit('hi','everyone');
3
io.emit('hi','everyone')//简写
Copied!

自定义命名空间

要设置自定义命名空间,可以在服务端调用of函数
1
const nsp= io.of('/my-namespace');
2
nsp.on('connection',(socket)=>{
3
console.log('some connected')
4
})
5
nsp.emit('hi','everyone')
Copied!
在客户端,你告诉Socket.IO客户端连接到该命名空间:
1
const socket= io('/my-namespace')
Copied!
重要提示:命名空间是Socket.IO协商的实现细节,与底层传输的实际URL无关,默认为:/socket.io/...
Last modified 2yr ago