我有一个 nodejs 项目,它生成多个与套接字 io 通信的进程(该进程既发送数据又接收数据)。
有时在功能开发过程中,其他程序员可能会犯错误,导致我的套接字基础结构代码发送超过大小 X(例如,超过 500MB)的大消息。
我正在寻找一种方法来捕获此类情况并记录它们,我也不希望此类特定请求会失败。
现在的行为是整个套接字连接失败(不仅仅是特定的大消息),而且我没有找到任何方法来捕获这种情况,以便知道这就是原因。
现在我使用“maxHttpBufferSize”配置限制消息大小:Socket.IO 文档关于它在这里 - “在关闭会话之前消息可以有多少字节或字符(以避免 DoS)。” https://socket.io/docs/server-api/但当这个大小超过并且整个连接失败时,我似乎无法捕获任何错误,这对我来说非常糟糕。
我确实考虑过尝试在通过套接字代码发送数据时添加一些检查,以检查自己消息大小是否太大,但是序列化数据以进行此检查将对性能和socket.io代码产生非常沉重的代价在发送数据之前应该已经这样做了,所以我不想让这种情况发生两次。
我希望找到的最佳解决方案是 socket.io 支持的方法来处理这个问题,如果有一种性能成本较高的不同方法也可能很好。
注意:我正在使用套接字io 2.0.4。
如果仅在更高版本中有修复也是可以接受的。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)