我正在尝试通过socket-io测试网络摄像头流的实现。
我认为socket-io每秒可以处理很多请求,但是当我对socket-io侦听器的调用超过每秒20次时,我的flask服务器崩溃了。
下面是我网站的代码:
setInterval(() => {
socket.emit(
"frame2server",
`It is currently ${Date.now()}!`
);
}, 50); // 50ms = 20 fps
下面是socket-io代码:
@socketio.on("frame2server")
def handle_frame(frame):
socketio.emit("frame2client", frame)
对这个主题有什么想法吗?
这是因为socket-io在默认情况下限制了每秒的调用次数。要解决这个问题,您需要添加:
from engineio.payload import Payload
Payload.max_decode_packets = 50