有时无法监听socket事件

问题描述 投票:0回答:1

我有使用 socket.io-client 的聊天应用程序。

其中有一个用于删除聊天消息的自定义套接字事件,

一段时间后就会停下来听。 发生此问题后请注意,侦听新消息事件可以工作,但问题仅与 get_delete_message 套接字事件有关。 已经尝试了许多与客户端套接字配置相关的解决方案,但没有奏效。 此外,连接也得到了正确的管理,并且用户也在套接字中进行了连接,问题仅在于监听,事件也从服务器端发出。 尝试如下设置套接字配置,但没有成功。

socket = io(SOCKET_ENVIRONMENT, { transports: ['websocket'], allowUpgrades: false, pingTimeout: 5000, pingInterval: 25000, rejectUnauthorized: false });
Socket事件监听代码:
get_deleted_message(callback => { console.log("Listen Deleted Messages", callback); setDeleteMessageCB(callback); });

sockets websocket socket.io serversocket socket.io-client
1个回答
0
投票

此问题可能与“get_delete_message”套接字事件的服务器端实现有关。服务器可能未正确发出事件,或者服务器上特定于事件的实现存在问题。

您可能想尝试调试服务器端代码以查看是否存在任何问题。此外,您可以尝试为此事件侦听器添加特定的错误处理,以查看是否抛出任何可以帮助您诊断问题的错误。

另一个潜在问题可能与“get_delete_message”事件监听器的客户端实现有关。您可以尝试在客户端添加一些错误处理,看看是否也存在任何问题。例如,您可以在将回调函数分配为“DeleteMessageCB”函数之前检查是否已定义回调函数。

最后,您可以尝试在事件侦听器初始化和执行周围添加一些日志记录,看看是否可以识别问题发生时之间的任何模式或共性。

© www.soinside.com 2019 - 2024. All rights reserved.