首先对冗长的标题感到抱歉,但考虑到我的问题,我无法想出合适的标题。
现在来解决问题。我正在创建一个点对点聊天应用程序,它能够发送和接收文件,同时还能够与个人联系人聊天。
我知道我可以捕获连接到服务器的客户端的 ip 并将其存储,然后当该用户开始与另一个人聊天时。我可以使用存储的 ip 在使用 ServerSocket 的两个客户端之间创建连接。
但是出于安全原因,我不希望将一个用户的 ip 传递给另一台用户的计算机,所以,我要问的基本上是有一种方法可以将两个客户端连接在一起,而无需将每个客户端的 ip 传递给每个客户端。
所以例如
(all sockets have read / write buffers )
Client 1-- logs in --> Server ( a session ID 1 is created between the client 1 and server )
Client 2-- logs in --> Server ( a session ID 2 is created between the client 2 and server )
Client 1 --- Starts chat with client 2 ---> Server ( server connects session 1 and session 2)
Client 1 can then chat and send files to client two without passing it the ip.
如果这是一个不清楚的问题甚至是愚蠢的问题,我很抱歉,但我什至想不出谷歌这个问题的方法。