gpt4 book ai didi

c# - Socket.io - 每 34 毫秒接收一次数据

转载 作者:行者123 更新时间:2023-11-30 18:38:48 25 4
gpt4 key购买 nike

我正在尝试使用从 C# 应用程序捕获的图像创建 HTML5“远程桌面”。图像被转换为​​ base64 字符串并通过 socket.io 发送到页面并显示在 Canvas 上。它在我的 PC 上运行良好,但在任何速度较慢的计算机上则不然。它似乎无法足够快地更新并导致页面崩溃。这是“接收”操作代码:

socket.of('/1').on('receive', function (data) {
var img = new Image();
img.onload = function () {
context.drawImage(img, 0, 0, example.width, example.height);
};

img.src = "data:image/png;base64," + data.message;
});

数据每 34 毫秒发送一次,因此 Canvas 以大约 29 fps 的速度更新,看起来像是实时视频。有没有办法可以接收数据并在另一个“线程”中绘制图像?或者有人可以建议如何解决这个问题吗?感谢您的帮助。

最佳答案

Browserling完全按照您的意愿完成 – 它使用 <canvas> 显示远程桌面界面.方便的是,他们已经离开了their code未缩小。您可以看看他们是怎么做的。

如果您可以将 C# 设置为 VNC服务器,我会使用 noVNC ,一个使用 WebSocket 和 <canvas> 的浏览器 VNC 客户端. (值得一读的是 noVNC 的 performance notes 。)

关于c# - Socket.io - 每 34 毫秒接收一次数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10919373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com