我有一个使用Socket io在Node JS Express上运行的聊天应用程序。
以前,当客户端发送超过4 MB的大图像时,客户端已断开连接,我发现套接字io无法通过套接字发出事件在Base64中处理/流/发送如此大的数据。因此,我最终使用了此socket io file upload module。 现在,我正在使用Socket io文件上传模块,以允许用户在聊天期间上传照片/文件。现在,即使我上传了最大的图像/文件,聊天也不会断开。
但是,即使只是在进行文本聊天,客户端仍然会随机断开,并出现许多错误,例如ping超时,传输关闭等。
下面是我的套接字io客户端和服务器配置,我尝试使用pingTimeout和pingInterval值,但客户端仍然断开连接。
套接字IO客户端配置:
套接字IO服务器配置:
聊天断开时客户端JS日志:
我的套接字io客户端和服务器版本:
类似的问题,但是尝试任何解决方案都没有运气:https://github.com/socketio/socket.io/issues/2769
我的应用程序中大约有500-800个并发客户端正在使用它。
我的服务器规范在哪里部署了应用程序
我的问题:
答案 0 :(得分:0)
应该保持一致。
在客户端配置中,您已经定义了'transports':['polling',“ websocket”]; 因此它必须在服务器配置中也“传输”:['polling',“ websocket”]