nestjs报socket.io 404错误

偶尔会出现nestjs运行之后,报下面的错误

NotFoundException: Cannot GET /socket.io/?X_LOCAL_SECURITY_COOKIE=&EIO=3&transport=polling

排查了下,这个是端口冲突了,修改下端口就行。

我这里主要是nvidia的share的占用了3000端口,禁止share,让出3000端口就行了

NestJS 是一个用于构建高效、可靠和可扩展的服务器端应用程序的框架,它支持多种传输层协议,包括 HTTP、WebSockets 和微服务。Socket.IO 是一个用于实时、双向和基于事件的通信的库,它在客户端和服务器端提供了丰富的 API。在 NestJS 中使用 Socket.IO 需要借助于一个专门的库,比如 `@nestjs/platform-socket.io`。 使用 Socket.IO 可以让你在 NestJS 应用程序中轻松实现 WebSockets 功能,允许客户端与服务器之间进行实时通信。以下是使用 Socket.IONestJS 中实现基本通信的步骤: 1. 安装依赖: ```bash npm install @nestjs/platform-socket.io socket.io ``` 2. 在你的 NestJS 应用模块中引入并配置 Socket.IO: ```typescript import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { SocketIoModule } from '@nestjs/platform-socket.io'; @Module({ imports: [ SocketIoModule.forRoot({ // 这里配置 Socket.IO 选项,如端口号等 cors: { origin: ['http://localhost:3000', 'http://localhost:4200'], methods: ['GET', 'POST'], }, }), ], controllers: [AppController], providers: [AppService], }) export class AppModule {} ``` 3. 创建一个用于处理 Socket 事件的服务: ```typescript import { Injectable } from '@nestjs/common'; import { Socket } from 'socket.io'; @Injectable() export class SocketService { constructor(private socket: Socket) {} // 定义事件处理函数 joinRoom(room: string) { this.socket.join(room); } leaveRoom(room: string) { this.socket.leave(room); } emitEvent(event: string, data: any) { this.socket.emit(event, data); } // 更多事件处理... } ``` 4. 在你的控制器或其他服务中注入 `SocketService` 并使用它与客户端通信。 请注意,这里只提供了一个基础的引入和配置方法,具体实现细节可能根据项目的需要有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值