【问题标题】:How to use socket.io in RestApplication of loopback 4?如何在环回 4 的 RestApplication 中使用 socket.io?
【发布时间】:2019-12-04 05:31:44
【问题描述】:

我在 Loopback 4 中创建了我的 rest 应用程序,现在我想在其中实现套接字。 RestApplication有什么办法吗?

export class MyApplication extends BootMixin(
    ServiceMixin(RepositoryMixin(RestApplication)),
) {

    constructor(
        options: ApplicationConfig = {}
    ) {
        super(options);
    }

    ....

    async start() {
        await super.start();

        const io = socketio(this.restServer);
        io.on('connection', (socket: any) => {
            console.log('connected');
        });

    }
}

const io = socketio(this.restServer); 不适合我

【问题讨论】:

  • 您找到解决问题的方法了吗?

标签: websocket socket.io loopbackjs loopback4


【解决方案1】:

这是一个带有 socket.io 集成的官方 Loopback 4 示例。创建此示例是为了探索如何与 LoopBack 控制器一起公开 Websocket (socket.io) 端点。

https://github.com/raymondfeng/loopback4-example-websocket

【讨论】:

  • 你提到的例子是使用HttpServer类实现的,但是我的应用程序使用了RestApplication类和restServer,所以我现在的项目中无法使用它。
【解决方案2】:

我已经在 Loopback 4 中创建了我的 REST 应用程序,现在我想在其中实现套接字。

您的需求是什么?客户A成功调用一个REST API后,这个调用的结果会通过websocket发送到指定的客户端吗?

你可以在application.tshow to creat websocket server)同时创建rest server和websocket server。然后你可以创建Interceptor,在每个控制器方法被调用后通过websocket发送消息。

【讨论】:

    猜你喜欢
    • 2021-01-10
    • 2018-04-20
    • 2018-05-04
    • 2016-01-06
    • 1970-01-01
    • 2015-10-15
    • 2021-12-19
    • 2019-06-12
    • 2017-03-14
    相关资源
    最近更新 更多