我正在使用 XSockets 将实时图像数据发送到任何连接的客户端。每个图像都相当大(最高 1080p 质量),视频最高可达 30fps。因此,有相当数量的数据被转移。每当我获得新图像时,我都会触发一个事件,并且当前将原始字节数组传递给客户端
void NewImage(byte[] imgData)
{
this.InvokeToAll(imgData, "newimage");
}
我的 java 脚本处理程序当前是空的,甚至没有对接收到的数据做任何事情(我通过在接收到新图像时打印消息等来确保它可以工作)。
如果没有 InvokeToAll 代码,我的程序运行没有任何问题,并且我之前使用相同的代码渲染到 Winforms 没有任何问题。运行此代码几秒钟后,由于内存不足异常,它崩溃了。有什么我在这里遗漏的吗,imgData 从它发送的地方被清空(在将它发送到客户端之后)并且代码在 XSockets 之外工作没有任何问题。