我有一堆由ESP32芯片控制的照明条,这些ESP32芯片提供了一个WebSocket,您可以在其中推送照明数据。主机每秒推送30帧,每个像素一个24位值,因此对于512灯带:
512 x 3字节x 30帧= 46K /秒
因此PC运行一个应用程序,将这些帧每秒发送30次到WiFi网络上的ESP32芯片。但是每个连接每隔一两分钟就会随机失败。更大的数据会增加失败率。
我试图始终保持连接打开,实际上,它将在连接失败或关闭时监视并重新打开连接,连接有时每隔一两分钟,有时会多一些,有时少一些。
我的问题是,为什么可靠的wifi网络上的WebSocket会自我关闭,如何防止它或如何使它更坚固?
当前,我监视关闭状态(通常以代码54的方式进行对等重置),然后重新打开。但是我不知道为什么它会永远关闭。我的信号强度约为-35dB,非常好。
实现是ESP32 Websockets项目,但没有bug,平台对于本次讨论无关紧要。
答案 0 :(得分:0)
结果证明esp32上的Websocket加载在高负载下非常不可靠。我将代码重新定位到了unix套接字层,此后,它的执行无懈可击。