File size: 1,504 Bytes
00a912e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | import { registerRoomController } from './roomController.js'
import { registerPlayerController } from './playerController.js'
import { registerQueueController } from './queueController.js'
import { registerChatController } from './chatController.js'
import { registerVoteController } from './voteController.js'
import { registerAuthController } from './authController.js'
import { registerPlaylistController } from './playlistController.js'
import { logger } from '../utils/logger.js'
import type { TypedServer } from '../middleware/types.js'
import { EVENTS } from '@music-together/shared'
import { audioProxyPolicyRepo } from '../repositories/audioProxyPolicyRepository.js'
import { globalBackgroundRepo } from '../repositories/globalBackgroundRepository.js'
export function initializeSocket(io: TypedServer) {
io.on('connection', (socket) => {
logger.debug('客户端已连接', { socketId: socket.id })
// 新连接默认加入 lobby 频道(首页房间列表推送)
socket.join('lobby')
socket.emit(EVENTS.SERVER_AUDIO_PROXY_POLICY, audioProxyPolicyRepo.get())
socket.emit(EVENTS.SERVER_GLOBAL_BACKGROUND, globalBackgroundRepo.get())
registerRoomController(io, socket)
registerPlayerController(io, socket)
registerQueueController(io, socket)
registerChatController(io, socket)
registerVoteController(io, socket)
registerAuthController(io, socket)
registerPlaylistController(io, socket)
})
logger.info('实时通信服务已初始化')
}
|