我想通过TCP/IP套接字连接两个客户端。客户端可以使用中间服务器相互发现。一旦客户端相互发现,就不应该涉及到服务器。我对此进行了一些研究,并发现许多人建议使用JXTA。但我想从零开始创建协议(因为将来我可能还需要使用WebSockets实现相同的功能(当我的客户端是浏览器时))。目前,我的客户端可以是桌面应用程序或移动应用程序。
我的问题是:
1. 客户端如何在服务器上相互发现?如果服务器将客户端的全局IP地址发送给彼此,那么这些信息是否足以创建点对点连接?如果客户端在同一LAN网络上,而服务器在不同的WAN上,情况又如何?
2. 客户端具有动态IP地址。即使具有活动套接字,它们的IP地址也可能突然更改吗?
3. 点对点连接是否可靠传输非连续数据(例如聊天应用程序)?
[注意:通过将客户端作为临时套接字服务器之一,我指的是建立客户端-服务器TCP/IP套接字连接(使用Java)]
谢谢。
我的问题是:
1. 客户端如何在服务器上相互发现?如果服务器将客户端的全局IP地址发送给彼此,那么这些信息是否足以创建点对点连接?如果客户端在同一LAN网络上,而服务器在不同的WAN上,情况又如何?
2. 客户端具有动态IP地址。即使具有活动套接字,它们的IP地址也可能突然更改吗?
3. 点对点连接是否可靠传输非连续数据(例如聊天应用程序)?
[注意:通过将客户端作为临时套接字服务器之一,我指的是建立客户端-服务器TCP/IP套接字连接(使用Java)]
谢谢。