创建使用同行中间服务器等连接(Creating Peer to Peer connections u

2019-07-30 12:54发布

我想连接两个客户端(通过TCP / IP套接字)。 客户端可以使用中间服务器发现彼此。 一旦客户发现彼此,不应该有服务器的任何牵连。

我做了一些有关此研究中,发现很多人建议JXTA 。 但我想从头开始创建自己的协议(因为在将来我有可能实现的WebSockets使用相同以及(当我的客户是一个浏览器))。 目前,我的客户端可以是桌面应用程序或移动应用程序。

我的问题是:

  1. 客户将如何发现对方的服务器? 如果服务器发送客户端的相互全局IP地址,将这些信息足以建立一个对等网络连接? 如果客户端在同一个局域网网络中有哪些和服务器是在不同的WAN?

  2. 客户端具有动态IP地址。 他们的IP可以更改突然即使它有一个活跃的窝?

  3. 是对等网络连接是可靠的非连续数据传输(如在聊天应用程序)?

[注意:由对等网络连接我的意思是通过使所述客户端的临时插座服务器中的一个建立(使用Java)的客户端 - 服务器的TCP / IP套接字连接]

提前致谢。

Answer 1:

1)当客户端连接到服务器,他们将不得不通知的端口号,他们将继续开放供其他客户端的传入连接服务器。 服务器会知道客户端的IP地址。 然后,服务器将需要沟通/将这些信息发送给另一方/客户端。 客户的实际位置没有任何区别。 如果两个客户端在同一网络上的网络路由器会发现他们,使他们的通信路径更短。

当前连接中2)动态IP地址无法改变 - 如果它的连接将被丢弃,这两个客户端将不得不重新启动通过1服务器的连接)

3)是



文章来源: Creating Peer to Peer connections using intermediate server