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=(数据)=>{
控制台日志(数据);
};
};
这应该能奏效