【问题标题】:Client side Socket.io override or hendle disconnect event客户端 Socket.io 覆盖或处理断开连接事件
【发布时间】:2019-03-30 17:34:57
【问题描述】:

大家好,我正在使用 Socket.io 但我有一个问题。有两种类型的客户端,具有自定义事件的客户端“A”和具有其他一些自定义事件的客户端“B”,但问题在于:

所有客户端的断开连接事件都是相同的,根据 socket.io 无法覆盖和调用“A_disconnect”或“B_disconnect”,而只能调用“断开连接”事件,所以我如何才能注意到客户端 A 或客户端 B 是断线了?

【问题讨论】:

    标签: socket.io


    【解决方案1】:

    您是否尝试将客户端类型存储到服务器级别的映射/数组中?(例如,在所有服务器时间都存在的全局集合)

    您将连接期间的客户端类型和引用保存到映射/数组中,因此当您拦截断开连接时,您可以根据之前存储的客户端类型调用适当的方法。

    另一种方法是在 socket.io 实例上连接客户端 A 和在另一个实例上连接客户端 B,但这不能很好地扩展,我认为在您的情况下不是一个好的选择。

    希望对您有所帮助。

    干杯

    【讨论】:

    • 是的,我将客户端套接字存储在两个不同的数组中,但它们可以具有相同的 ID。我解决了检查客户端数组 A[客户端断开连接的 ID] 中的套接字是否已连接,如果没有删除。
    猜你喜欢
    • 2015-04-30
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 2018-02-09
    • 2016-03-11
    相关资源
    最近更新 更多