Javascript 为什么';新WebSocket()';不';你不为nestjs工作吗?

Javascript 为什么';新WebSocket()';不';你不为nestjs工作吗?,javascript,websocket,nestjs,Javascript,Websocket,Nestjs,我用constsocket=newwebsocket('ws://localhost:3000')发送;send('hello world')来自客户端,我收到服务器上的“已连接”日志,但不是“hello world”。socket.send()不适用于NestJS。当我看chrome网络时。它在服务器中发送数据,但不接收数据。 下面是代码:chat.gateway.ts @WebSocketGateway() export class ChatGateway implements OnGate

我用
constsocket=newwebsocket('ws://localhost:3000')发送;send('hello world')来自客户端,我收到服务器上的“已连接”日志,但不是“hello world”。socket.send()不适用于NestJS。当我看chrome网络时。它在服务器中发送数据,但不接收数据。
下面是代码:chat.gateway.ts

@WebSocketGateway()
export class ChatGateway implements OnGatewayConnection, OnGatewayDisconnect, OnGatewayInit {
  handleConnection(client: any, ...args: any[]): any {
    console.log('connected');
  }

  handleDisconnect(client: any): any {
    console.log(client);
    console.log('disconnected');
  }

  @SubscribeMessage('message')
  handleEvent(client: any, data: any): WsResponse<any> {
    const event = 'events';
    return { event, data };
  }

  afterInit(server: any): any {
    console.log(server.path);
  }
}
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { WsAdapter } from '@nestjs/platform-ws';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.enableCors({
    origin: 'http://localhost:4200',
    credentials: true,
  });
  app.useWebSocketAdapter(new WsAdapter(app));
  await app.listen(3000);
}

bootstrap();

查看Github示例:

在客户端:

constsocket=newwebsocket('ws://localhost:80');
socket.onopen=()=>{
console.log('Connected');
socket.send(
JSON.stringify({
事件:“消息”,
数据:“我非常重要的信息”,
}),
);
socket.onmessage=(数据)=>{
控制台日志(数据);
};
};
这应该能奏效