Согласно документам NestJS, я реализовал шлюз websockets и предоставил его внутри AppModule
.Сервер запускается правильно, и я могу успешно обслуживать статические ресурсы через http.Но я не могу запустить websockets вообще, сервер ws недоступен на ws://localhost:3333
, а функция afterInit
вообще не выполняется.Даже когда я определяю @SubscribeMessage
.
Шлюз реализован как
@WebSocketGateway()
export class SocketGateway implements OnGatewayInit {
afterInit() {
console.log('Gateway initialized');
}
}
Модуль AppModule правильно обеспечивает шлюз
@Module({
providers: [SocketGateway]
})
export class AppModule {}
И этореализация начальной загрузки
export async function bootstrap() {
let app = await NestFactory.create(AppModule);
await app.listen(process.env.port || 3333, () => {
console.log(`Listening at http://localhost:${port}`);
});
}
bootstrap();
Мои зависимости
"socket.io-client": "^2.2.0",
"@nestjs/common": "5.5.0",
"@nestjs/core": "5.5.0",
"@nestjs/platform-socket.io": "^6.1.0",
"@nestjs/websockets": "^6.1.0"
Возможно, вы видите проблему напрямую.Спасибо за вашу помощь, ура!