javascript - 如何防止值错误 : too many packets in payload in flask socketio

标签 javascript websocket flask-socketio

所以我正在做我的期末项目。我想从客户端网络摄像头获得头部姿势估计。我成功地将网络摄像头流式传输到带有 websocket 的服务器。但是当我尝试将我的头部姿势功能放在套接字路由中时,终端经常显示错误 valueError: too many packets in payload。有谁知道如何防止这个错误?任何答案将不胜感激。谢谢!

这是我的代码以获取更多信息。

JavaScript

var constraints = { audio: false, video: { width: 500, height: 500 } }; 
var video = document.querySelector('video');
var canvas = document.querySelector('canvas');

var socket = io('https://0.0.0.0:8000');

navigator.mediaDevices.getUserMedia(constraints)
    .then(function(mediaStream) {
    video.srcObject = mediaStream;
    video.onloadedmetadata = function(e) {
    video.play();

  };
})
.catch(function(err) { console.log(err.name + ": " + err.message); })

socket.on('connect', function () {
    console.log('connected !', socket.connected);

    function capture() {
        canvas.width = 200;
        canvas.height = 200;
        canvas.getContext('2d').drawImage(video, 0, 0, 200, 200);
        var data = canvas.toDataURL('image/jpeg');

        return data;
    };

    var FPS = 50

    setInterval(() => {
        var imgData = capture();

        socket.emit('image', imgData);

    }, 1000 / FPS);
});

flask 应用

@socketio.on('image')
def image(data_image):
    time.sleep(1)
    encoded_image = data_image.split(",")[1]
    decoded = base64.b64decode(encoded_image)
    frame = cv2.imdecode(np.frombuffer(decoded, np.uint8), -1)

    #this is my head pose module
    pose = FacePosition(frame)

    head_pose = pose.run()
    print(head_pose)

if __name__ == '__main__':
    socketio.run(app, threaded = True)

最佳答案

您可能想看看 this问题。提高 enigneio 的 max_decode_packets 确实为我解决了这个问题。

关于javascript - 如何防止值错误 : too many packets in payload in flask socketio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61579133/

相关文章:

javascript - 数据操作 : How can I append path from my data array?

django - 使用 django channel 和 celery 收听 mqtt 主题

python - Flask-SocketIO 不能在 Apache/WSGI 上工作

Javascript 客户端不会持续监听 Flask-SocketIO

python - Flask socket IO 从另一个模块发出

javascript - 如何将 extjs 数据从表单发布到服务器?

Javascript: "if"条件内的三元运算符

java html5 websocket 服务器和客户端示例?

java - 无法连接到 websocket 服务器(spring)

javascript - 找不到 'core-js' 的类型定义文件