Как создать сокет по https в Nest Js? - PullRequest
0 голосов
/ 14 июля 2020

Я создал один шлюз сокетов, который очень плавно работает с HTTP-запросами. Теперь я пытаюсь подключить сокет через запрос https в Nest Js, но у меня это не сработало. Я также попытался указать дополнительные параметры в @WebsocketGateway(5058, { origin : "*:*", secure: true })

. Я также проверил официальную документацию Nest Js для работы с SSL на сокете, но ничего не нашел.

Ниже мой код который я создал согласно документации.

import { InternalServerErrorException, BadRequestException } from '@nestjs/common';
import { SocketService } from './socket/socket.service';
import { Server, Socket } from 'socket.io';

@WebSocketGateway(5058, { origin : "*:*"} )
export class AppGateway implements OnGatewayConnection, OnGatewayInit {

    constructor(private socketService: SocketService) { }

    public userIds = [];

    afterInit(server: Server) {
        console.log("Socket server started");
        this.socketService.socket = server;
    }

    async handleConnection(client) {

        try {
            console.log(client.id);
            this.socketService.socket.to(client.id).emit('status', "connected = " + client.id);
        } catch (error) {
            throw new InternalServerErrorException(
                `Oops.something went wrong, please try again later`,
            );
        }
    }

    async handleDisconnect(client) {
        this.userIds = this.userIds.filter(user => user.conn_socket_id !== client.id);
    }
}

отредактировано:

Я могу запустить сервер и получить доступ к сокету при использовании HTTP-запроса, но я не могу получить доступ к сокету по HTTPS-запросу . напр. http://example.com: 5058 у меня работает, https://example.com: 5058 не работает.

...