Javascript Websocket饱和度在Chrome中,blob指向不存在的数据
我的应用程序中有一个很难调试的问题 我正在使用WebSocket从服务器接收图像。我每秒得到大约50幅二进制图像,并将它们作为图像显示在画布上 一切正常,但有时我会出错:Javascript Websocket饱和度在Chrome中,blob指向不存在的数据,javascript,google-chrome,websocket,protocols,filereader,Javascript,Google Chrome,Websocket,Protocols,Filereader,我的应用程序中有一个很难调试的问题 我正在使用WebSocket从服务器接收图像。我每秒得到大约50幅二进制图像,并将它们作为图像显示在画布上 一切正常,但有时我会出错: FileReader error. Name: NotFoundError Message: A requested file or directory could not be found at the time an operation was processed. 我的代码如下所示: wsVisualizerManag
FileReader error. Name: NotFoundError Message: A requested file or directory could not be found at the time an operation was processed.
我的代码如下所示:
wsVisualizerManager.onMessage = function(e)
{
if (e.data instanceof Blob)
{
var blob = e.data;
this.reader.readAsArrayBuffer(blob);
}
}
基本上,我得到一个blob,我用一个FileReader对象(this.reader)来读取它,以便能够将它可视化为一个图像
正如我所说,一切正常,但有时,似乎由于接收到更多它可以处理的图像,我开始出现这个错误
当我开始出现此错误时,我一次也没有发现,我多次发现它,因此我的应用程序在很多时候都被阻止。如果我启动chrome开发工具,错误会立即停止,我的应用程序也会重新运行(所以这个开发工具可能正在清理一些缓冲区?)
所以,我猜这是一种完全填满的缓冲区,但我认为如果我必须丢失旧消息,我可以接受,但是为什么要用格式错误或不存在的blob调用onMessage呢
我不知道如何调试这个错误,因为websocket API只有几个方法,没有人允许我访问或清理缓冲区
手动生成此错误的一种方法是在onMessage的开头放置一个断点并等待一段时间。然后发生的是,当我按下play时,我开始出现这个错误,几秒钟后,我开始接收延迟图像。因此,它似乎没有删除接收到的图像,或者至少没有删除所有图像
我也在开发服务器部分。我用C++和WebSu水套+库。我的chrome版本是:43.0.2357.125(64位)
关于如何继续调试此错误或试图解决此问题的任何线索