【发布时间】:2012-07-20 09:49:11
【问题描述】:
我想连接两个客户端(通过 TCP/IP 套接字)。客户端可以使用中间服务器相互发现。一旦客户端发现彼此,服务器就不应该有任何参与。
我对此做了一些研究,发现很多人建议JXTA。但是我想自己从头开始创建协议(因为将来我可能还必须使用 WebSockets 来实现相同的协议(当我的客户端是浏览器时))。目前,我的客户端可以是桌面应用程序或移动应用程序。
我的问题是:
客户端如何在服务器上相互发现?如果服务器将客户端的全局 IP 地址发送给对方,这些信息是否足以创建对等连接?如果客户端在同一个 LAN 网络上而服务器在不同的 WAN 上怎么办?
客户端具有动态 IP 地址。即使有活动的套接字,他们的 IP 也会突然改变吗?
点对点连接对于传输非连续数据(如在聊天应用程序中)是否可靠?
[注意:点对点连接是指通过将客户端之一作为临时套接字服务器来建立客户端-服务器 TCP/IP 套接字连接(使用 Java)]
提前致谢。
【问题讨论】:
标签: networking client-server p2p network-protocols