这是我的原生应用代码: https://stackoverflow.com/a/20235961/2021585
只要我通过postMessage()发送小尺寸数据,它就会得到正确回显。
但是当我尝试发送像port.postMessage({text:'ospj..LONG-MSG...'})
它不会回复,通讯结束!!!
我应该在哪里进行更改才能在它们之间进行大规模的数据通信?
答案 0 :(得分:4)
在我的测试中,我没有找到从浏览器发送到应用程序的数据限制(它超过2MB)。从应用程序发送到浏览器的数据有1MB的限制。
您链接的代码有两个错误,使其无法处理长消息。首先,它没有正确读取消息长度(它对消息长度的字节值求和,而不是位移,因此257字节的消息将被解释为2字节长),其次,在写入时输出上的消息长度,它使用little-endian字节顺序而不是消息传递规范所要求的native-endian字节顺序。