(private socket: Socket)
| 29 | private listener: [string, (data: unknown) => void][] = []; |
| 30 | |
| 31 | constructor(private socket: Socket) { |
| 32 | socket.onAny((eventName: string, data: unknown) => { |
| 33 | const matched = this.listener.filter(([ev]) => ev === eventName); // 匹配到的监听器列表 |
| 34 | if (matched.length === 0) { |
| 35 | // 没有匹配到任何处理函数 |
| 36 | console.warn(`[Socket IO] Unhandler event: ${eventName}`, data); |
| 37 | return; |
| 38 | } |
| 39 | |
| 40 | matched.forEach(([, cb]) => { |
| 41 | cb(data); |
| 42 | }); |
| 43 | }); |
| 44 | } |
| 45 | |
| 46 | get connected(): boolean { |
| 47 | return this.socket.connected; |