我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我的第一个想法如下:
我在服务器上创建了一个中央 ServerSocket,所有应用程序都可以连接到该服务器。此 ServerSocket 跟踪连接的套接字(客户端),并将新连接客户端的 IP 和端口提供给所有其他客户端。每个客户端创建一个所有客户端都可以连接到的新 ServerSocket。
换句话说:每个客户端都有一个 ServerSocket,所有其他客户端都连接到它。消息应通过图像中的蓝线传递。
我只遇到了一个小问题:如果我通过所有不同的 IP 地址测试它,它工作正常,但是当两个客户端具有相同的(外部)IP 地址时,它就不再工作了。有人知道一个聪明的解决方案吗?
谢谢!马克