使用 socketio 时实时更新图像

Live update image while using socketio

我正在使用 python 将每第 n 个图像从科学相机推送到网页。该网页使用 .replace() 更新图像。可能需要注意的是,这不是网络摄像头 - 它是科学摄像头。我正在使用开发者软件每隔 n 秒将图像保存到服务器,然后由客户端抓取。

我正在使用 HTML、JavaScript、Jquery 和 python。

我还有一堆 web 套接字(在客户端使用 socketio,在服务器端使用 flask)这样当一个按钮被点击时它会发出一个命令来移动连接到服务器的电机。发生这种情况时,图像将停止更新,直到服务器上的发射功能完成。

我考虑过使用后台线程每隔 n 秒将图像推送到服务器(基于用户对刷新率的请求),但不确定这是否有帮助...或者从哪里开始,真的.

提前致谢。

我假设您运行正在使用 eventlet 或 gevent 网络服务器,因为您提到您正在使用 WebSocket。

每当您有一个可能很长的任务时,无论是 HTTP 请求还是 Socket.IO 事件处理程序,您都必须确保它是异步完成的,这样网络服务器就不会被阻塞并可以继续回应。

你没有解释你的电机运动是如何处理的,但听起来你可能需要把它放在后台线程中(绿色线程,不是常规的 Python 线程),并经常调用sleep() 以便其他协程有机会 运行 而 bg 线程正在 运行ning。我认为这将使图像继续流动。