所以我想在配置文件端口号和webSockets的命名空间中进行设置。如果我可以在应用程序启动时加载该配置,然后为我的webSocket服务器设置该数据,那就太好了。
因此,改为像这样为Web套接字编写配置:
@WebSocketGateway(81, 'test')
我想在应用程序启动时对其进行动态设置。
所以我尝试了这个:
@WebSocketGateway()
export class StatusMonitorGateway implements OnGatewayConnection {
@WebSocketServer()
server;
public static forRoot(portNumber: number, namespace: string) {
Reflect.defineMetadata(NAMESPACE_METADATA, namespace, StatusMonitorGateway);
Reflect.defineMetadata(PORT_METADATA, portNumber, StatusMonitorGateway);
return StatusMonitorGateway;
}
}
在模块中:
export class StatusMonitorModule {
static setUp(config: StatusMonitorConfiguration): DynamicModule {
return {
module: StatusMonitorModule,
providers: [
StatusMonitorGateway.forRoot(config.port, config.namespace || ''),
]
};
}
}
但这不起作用。 webSocket上的命名空间仍然是''
,而不是我期望的'test'
。
有什么想法吗?