5

我正在尝试编写 javacript 以使用 Websocket 接收 mjpeg。客户端可以选择要播放的视频文件。

服务器正在使用 json 将 mjpeg 作为图像一一发送,如下所示: {"image":"base64_image"}

当客户端尝试选择不同的视频时会出现问题。更改为新的视频文件需要 2 分钟以上。(虽然服务器和客户端在不同的国家。)

我知道有延迟,但问题是

我打开上一个视频文件的时间越长,下一个视频文件的显示速度就越慢。

我猜缓冲区中有数据排队。所以,我的问题是

如何清除 javascript 中的套接字缓冲区?

或者如果不是关于缓冲区,你知道问题是什么吗?

4

1 回答 1

0

如果没有任何示例代码,问题很可能是您的 websocket 客户端被来自服务器的消防软管淹没。

您很可能可以通过让 websocket 客户端在准备好处理下一帧时轮询下一帧来对此进行调整。这样做的好处是您可以停止轮询资产 X 的帧并开始轮询资产 Y 的帧。

这当然假设问题是客户端......如果它在您的服务器上加载整个视频等并且不能“放开”视频切换到另一个,那么这是一个不同的问题服务器。

也就是说,这对于 websocket 来说不是一个很好的用例……它们非常适合小数据包……这只是一个实验吗?

于 2013-06-05T00:14:06.990 回答