我正在尝试使用 Java 从 PureData 接收相当大的 OSC blob(超过 10000 字节的数组)。
我试过oscP5 library我得到了 ArrayIndexOutOfBoundsException
超过大约 1500 字节。
我也有同样的JavaOSC library具有相同的限制(代码示例来自 https://wush.net/trac/lsu-idt/wiki/JavaOSC )。
NetUtil
[3] lib 给我 de.sciss.net.OSCException:接收 OSC 数据包时出错:java.nio.BufferUnderflowException
但是,我可以使用 PureData 轻松接收这些 Blob 甚至更大的 Blob 。 所以我猜我的 Java 配置有问题。
我尝试使用 -Xms512m 甚至 -Xms2048m 来增加虚拟机内存,但这没有帮助。
最佳答案
oscP5 库的默认数据报大小为 1536,这就是您遇到该限制的原因。您可以使用 OSCProperties::setDatagramSize() 更改数据报大小,该函数在 OscP5 对象的构造函数中使用:
OscP5(对象 theParent,OscProperties theProperties)
请参阅此链接以获取处理论坛中的旧示例:
克莱·布丁 纽约
关于java - 如何在 Java 中接收大的 OSC blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27377843/