如何处理用户而不是处理Ip-Addressing?

时间:2013-04-15 20:51:36

标签: java p2p

我打算在Java 7中编写一个P2P聊天应用程序,我们有一个联系人列表(比如像Skype这样的应用程序)。然后,我们可以要求每个连接的联系人开始聊天会话(如Skype)。但Java Socket实现要求我们给另一个endPoint的Ip-Adress。这引出了两个主要问题:

  • 管理动态IP地址:特别是在其他endPoint用户连接之前
  • 管理另一个用户每次只能使用另一台计算机的事实

那么,你能给我什么建议吗?

此致

2 个答案:

答案 0 :(得分:2)

用户应使用某个ID标识自己,例如使用电子邮件地址或登录名。

您必须在系统中创建一些“修复点”,例如给定的IP地址或域名,客户端可以自己注册(您可以存储用户ID)。

每次IP地址更改时,客户端都会在服务器上更新它,因此请求联系信息的其他客户端将获得新IP。

答案 1 :(得分:1)

您可以依靠一些外部基础设施进行识别。 例如,可以使用OpenPGP签名的消息,密钥将标识发件人。 PGP密钥已签名并受信任,并且存在用于验证的PGP密钥的集中存储库。在这种情况下,IP地址无关紧要,但发送者仍然需要知道将消息发送到哪里,即你仍然需要一个目录(一些具有已知地址的服务器)来保持IP< - >用户映射。