Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stream 谷歌附近的连接-无法在2台设备之间传输大字节_Stream_Google Nearby - Fatal编程技术网

Stream 谷歌附近的连接-无法在2台设备之间传输大字节

Stream 谷歌附近的连接-无法在2台设备之间传输大字节,stream,google-nearby,Stream,Google Nearby,当我尝试从onPayloadTransferUpdate()方法发送一个包含多个图像(使用Base64转换为字符串)的对象作为流类型时,我可以看到“失败”结果,并且设备(仅在连接两个设备时测试)会在这之后自动断开连接。谷歌附近的连接不是发送大字节的正确选择吗 附近的连接应该能够处理这个问题。流有效负载没有明确的大小限制 我建议将字节分块(例如,一次发送几个KB),看看这是否有帮助。当您一次发送整个文件时,您可能会遇到奇怪的情况,因为它会将字节加载到内存中两次(一次在应用程序中,一次在附近的进程中

当我尝试从onPayloadTransferUpdate()方法发送一个包含多个图像(使用Base64转换为字符串)的对象作为流类型时,我可以看到“失败”结果,并且设备(仅在连接两个设备时测试)会在这之后自动断开连接。谷歌附近的连接不是发送大字节的正确选择吗

附近的连接应该能够处理这个问题。流有效负载没有明确的大小限制

我建议将字节分块(例如,一次发送几个KB),看看这是否有帮助。当您一次发送整个文件时,您可能会遇到奇怪的情况,因为它会将字节加载到内存中两次(一次在应用程序中,一次在附近的进程中),这可能会导致内存不足错误。Android上的进程间通信层Binder也有一个有限的缓冲区,用于在进程之间发送数据

您还可以将其保存为临时文件并作为文件负载发送,在这种情况下,我们将为您处理分块

免责声明:我在附近的连接上工作。

1)您不需要为了附近的连接而对数据进行Base64编码——您的流可以有原始二进制数据,这很好

2) 您正在发送的数据有多大,以及在哪个字节偏移量(您可以在you get with Status.ERROR中看到这一点)下失败?听起来你的设备刚刚断开连接

3) 你在用什么


4) 如果发现仍在进行中(即,您尚未调用stopDiscovery()),请尝试停止该操作,然后发送有效负载--发现是一项繁重的操作,它会使设备之间的连接很难长时间可靠地保持。

好的,谢谢。事实上,当我使用P2P_STAR stratergy时,无论大小,传输都能完美工作。对于我的应用程序,我只需要在任何时候进行1-1通信,因此使用P2P_STAR解决我的问题!听起来转移花了很长时间,而星上更快的速度帮了忙。如果您每次只需要1个连接,请考虑使用PooToToToPoPoT。对于我的应用程序,使用Base64编码很容易,所以使用它。其次,我尝试发送的数据几乎是20MB,对于流类型,它不显示总大小,而是显示“-1”。我使用了P2P_集群策略。一旦建立了联系,我将停止广告和探索。然而,简单的解决方案是将其转换为P2P_星形拓扑,当我使用此拓扑时,所有传输都能完美工作。因为我随时都需要1-1的沟通,所以我会使用这个解决方案。谢谢你回来回答我的问题,Karthik。流的总大小始终为-1,因为我们无法始终知道流(可能)活动的数据的总大小,但仅供参考,您可以获得@Xlythe说我将在下面的评论中提到使用P2PoPositTotoPoPoice的其他内容,所以一定要考虑使用。