如何使用Java从网络创建唯一ID?

时间:2018-04-06 17:31:24

标签: java sockets network-programming uuid mac-address

假设我有两个网络,A和B,我有十个客户端,每个网络有五个,我希望能够伪匿名地区分哪个客户端在哪个网络上。网络连接到互联网,每个客户端为其所在的机器生成唯一的ID,并且发送ID的服务器不在任一网络上。

我目前可以使用mac地址为每台客户端计算机生成唯一ID,如下所示:

g
e
c
k
o
s
,
a
n
o
l
e
s

但是,此信息并不能告诉我哪个客户端计算机在哪个网络上。如何为网络创建一个ID,当与clientId一起发送时,可以让我告诉客户端机器属于哪个网络?

是否存在允许唯一标识运行客户端的任意数量网络的解决方案?

修改
似乎我把人们与我发布的代码块混淆了。请忽略它。我试图说明代码将完成我正在寻找的东西。

目标:
我想知道服务器收到的请求是来自同一个地方,还有来自该地点的请求数量。

例如:
爱丽丝,鲍勃和玛丽都在史蒂夫的家里和史蒂夫的无线网络上。他们都在使用客户端(ID生成代码所在的位置)。我想知道有四个独特的用户向史蒂夫的无线网络发出请求。当Alice回家时,她使用她的wifi网络中的客户端,我想知道有一个用户向Alice的网络发出请求。

所有这些数据都是匿名的,因为我不关心他们是谁。我只关心使用客户端的网络数量以及这些网络上的人数。重复计算Alice是好的,因为她在不同的网络上。因此在该示例中,有两个网络分别具有四个和一个用户。这就是我想知道的。

0 个答案:

没有答案