Vin*_*ren 5 android google-nearby
使用Nearby Connections,每个设备都有一个 endpointId,类似于zkHk。
获取其他人的 endpointId 是微不足道的,因为它是在扫描或连接到其他设备时由 API 返回的。
我一定错过了一些东西,但我找不到获取我自己的 endpointId 的方法(除了实现一种机制,在这种机制中,连接的对等方回显我的 id)。对于我想跟踪发送给谁的内容的某些协议,它可能很有用。
我发现的唯一一件事是getLocalEndpointName但它返回的是我的名字,而不是我的 ID。尽管Nearby 的 C++ 版本似乎有它!
你对 Java/Kotlin 有什么想法吗?我特别寻求获取 endpointId,而不是使用替代方法,例如在 localendpoint 名称中使用一种 GUID 作为替代。
编辑:一些用法示例
1) 例如,实现一些网络网格协议可能很有趣。几个设备互连形成一个全球网络,每个设备endpointId在再次发送之前将其添加到传入的有效载荷中,因此其他人可以检查他们是否应该将有效载荷发送到已经拥有它的设备。
2)我可能还想从设备 A 到 C 通过充当中继的 B 专门发送一个数据包,并在有效载荷中添加一些“来自:A”和“至:C”字段,以便网络知道如何路由数据并避免一些重传周期。这样做更简单,endpointId因为每个设备都有一个endpointId与其连接的列表。
3)它对于调试目的也很有趣。如果我使用连接到其他几个电话(例如星型网络)的电话进行一些测试,则更容易知道新数据来自哪个电话,如果我想name用于其他目的,则更是如此。
注意:所有这些都可以用不同的方式完成(例如,对设备的“名称”使用一些唯一标识符并检查它而不是endpointId),但这似乎有点麻烦。更重要的是endpointId保证了一种单一性,而我必须为name. 此外,在交换数据(仅endpointId和name)之前,我无法在另一台设备上获得大量信息,因此如果我将name其用作endpointId.
| 归档时间: |
|
| 查看次数: |
905 次 |
| 最近记录: |