2017-04-03 49 views
1

我正在为ad-hoc网络中的对等对话开发应用程序。当对方想要与其他对等方通信时,它使用其IP地址进行连接。 一旦Ad-hoc网络中的设备相互连接,IP地址就会分配给它们中的每一个,但我需要一个较小的字符串(4-6个字符)作为特定于每个设备的唯一ID网络。由于这是一个点对点网络,因此没有服务器(它可以生成唯一的ID),因此每个对等点本身都有责任生成唯一的ID。我正在寻找一种机制或算法来在java中生成唯一的ID。如何在对等Ad hoc网络中为每个设备创建唯一ID

+0

这是编程语言 – 134

+1

只需要一个想法或机制来做到这一点。 –

+1

@ 134你有解决这个问题的办法吗? –

回答

0

使用用于产生随机数的代码如下用6个字符

private static SecureRandom random = new SecureRandom(); 

public static String getUniqueId() { 
    return new BigInteger(130, random).toString(32).substring(0, 6); 
} 
1

这是通过使用每个设备的接口特定的MAC地址的可能是最好的解决。在标准实施中,MAC地址对于每个网络接口都是唯一的,因此每个设备都有唯一的编号。您可以直接使用此地址或作为种子值创建派生ID。