Эквивалентная программа Nest.js для фрагмента ниже Node

Может ли кто-нибудь помочь и рассказать мне, как я могу написать следующий фрагмент кода, который написан как приложение узла, чтобы писать как приложение-гнездо только с WebSockets и классом шлюза?

    var webSocketsServerPort = 8080;
    var webSocketServer = require('websocket').server;
    var http = require('http');
    var server = http.createServer(function(request, response) {
    });
    server.listen(webSocketsServerPort, function() {
    console.log(
    new Date() + ' Server is listening on port ' + webSocketsServerPort
        );
    );
    });
    var wsServer = new webSocketServer({
    httpServer: server
    });
    wsServer.on('request', function(request) {
    var connection = request.accept(null, request.origin);
    connection.on('message', function(data) {
    var message = JSON.parse(data.utf8Data);
    });

    connection.on('close', function(connection) {});

РЕДАКТИРОВАТЬ: В main.ts я написал это: app.useWebSocketAdapter(new WsAdapter(app));

Вот как выглядит мой класс шлюза:

import { WebSocketGateway, WebSocketServer, OnGatewayInit, OnGatewayDisconnect, OnGatewayConnection, SubscribeMessage } from "@nestjs/websockets";
import { Server } from "websocket";
import { Logger } from "@nestjs/common";

@WebSocketGateway(8080)
export class ChatterGateway implements OnGatewayInit, OnGatewayDisconnect, OnGatewayConnection {
    @WebSocketServer() private server: server;

    private logger: Logger = new Logger('ChatterGateway');

    afterInit(server: server) {
        this.logger.log('ChatGetway init');
    }

    handleConnection(client: any, data) {
        this.logger.log('Client connected');
    }

    handleDisconnect(client: any) {
        this.logger.log('Client disconnected');
    }

    @SubscribeMessage('request')
    handleRequest(client: any, data) {
        this.logger.log(data);
    }

    @SubscribeMessage('message')
    handleMessage(client: any, data) {
        this.logger.log(data);
    }
}

0 ответов

Другие вопросы по тегам