stream - Google Nearby 连接 - 无法在 2 个设备之间传输大字节
问题描述
当我尝试将具有多个图像的对象(使用 Base64 转换为字符串)作为 STREAM 类型发送时,从 onPayloadTransferUpdate() 方法中,我可以看到“失败”结果并且设备(仅在连接 2 个设备时测试)后自动断开连接那。Google Nearby 连接不是发送大字节的正确选择吗?
解决方案
附近的连接应该能够处理。STREAM 有效负载没有明确的大小限制。
我建议对字节进行分块(例如,一次发送几个 KB),看看是否有帮助。当您一次发送整个文件时,您可能会遇到奇怪的情况,因为它将字节两次加载到内存中(一次在您的应用程序中,一次在附近进程中),这可能会导致内存不足错误。Binder,Android 上的进程间通信层,也有一个有限的缓冲区来在进程之间发送数据。
您还可以将其保存为临时文件并将其作为 FILE 有效负载发送,在这种情况下,我们将为您处理分块。
免责声明:我在附近的连接上工作。
推荐阅读
- c++ - 优雅的 C++ 代码:如何使用 while 循环和条件语句编写更高效的代码
- java - 使用 AtlasMap 将 xml 转换为 json
- r - 强制 R 将字符串评估为列名
- javascript - expressjs 服务器上的 HTML 按钮运行 node.js 脚本
- reactjs - 如何让 `eslint-plugin-react-hooks` 对导出为 `default` 的功能组件进行 lint?
- node.js - 卷中的数据作为 Kubernetes 机密
- r - 如何在闪亮的应用程序中创建打印按钮以打印用户输入文本框中的文本的硬拷贝?
- javascript - 无法理解在打字稿项目中存储自定义类型的位置
- hdfs - 如何减少 HDFS 名称节点中的大性能差异
- html - 使用 QT5 如何打印 QTablewidget 并缩放表格以适合 A4 纸的一侧