调试使用socket.io的应用的最佳方法是什么?
应用程序运行正常,但是当我使用chrome dev工具在应用程序中设置断点时,几秒钟后,socket.io客户端与服务器断开连接(或服务器关闭了连接),可能是由于客户端造成的在检查断点时保持空闲状态。
我在这里想念什么?大家如何使用使用socket.io的应用程序使用chrome开发工具?
答案 0 :(得分:0)
我禁用了传输中的轮询,这似乎可以解决问题。这就是我现在的交通工具。
io.set('transports', ['websocket']);
答案 1 :(得分:0)
我在使用socket.io 2.20版本(截至2020年1月的最新版本)时遇到了相同的问题,并在客户端使用Chrome浏览了断点。解决方案是(暂时)增加Engine.IO超时设置,如下所示:
const io = ...; // initialize socket.io how you wish
io.eio.pingTimeout = 1200000; // 20 minutes, plenty of time to debug!
io.eio.pingInterval = 5000; // can change this if you like
请注意,较早版本的socket.io支持这种分配这些设置的方法:
const io = ... initialize socket.io how you wish;
io.set('heartbeat timeout', 1200000);
io.set('heartbeat interval', 5000);
完成调试后,请不要忘记将其恢复为合理的值(或依赖于默认值)。