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