我正在尝试使用Websocket编写javascript来接收mjpeg。客户端可以选择播放的视频文件。
服务器正在使用json逐个发送mjpeg作为图像,如下所示:{"图像":"base64_image"}
当客户端尝试选择不同的视频时出现问题。切换到新的视频文件耗时超过2分钟。(服务器端和客户端在不同的国家)
我知道有延迟,但事情是
打开前一个视频文件的时间越长,下一个视频文件显示的速度就越慢。
我猜缓冲区中有数据排队。我的问题是
如何在javascript中清除套接字缓冲区?
或者如果它不是关于缓冲区的,你知道问题是什么吗?
如果没有任何示例代码,最可能的问题是您的websocket客户端被来自服务器的消防水带淹没。
最有可能的是,你可以通过让websocket客户端轮询下一帧来调整它,当它准备好处理它时。这样做的好处是,你可以停止轮询资产X的帧,而开始轮询资产y的帧。当然假设问题是客户端…如果它是在你的服务器上加载整个视频等,不能"放开"视频切换到另一个,那么这是服务器上的另一个问题。
也就是说,这不是websockets的一个很好的用例…它们对于小数据包非常有用……这只是一个实验吗?