我目前正在从事使用 p2p 技术在移动设备之间共享文件的网络项目。使用 wifi 或移动网络。主要问题是当使用 wifi 时,所有连接到该 wifi 连接的设备的一般 IP 地址变得相同,这就是如果所有连接的设备都具有相同的 IP 地址,如何将文件发送到特定设备的问题?
最佳答案
同一网络上的每个设备都有唯一的私有(private) IP 地址。他们都共享一个公共(public) IP 地址。现在服务器如何通过只看到他们的公共(public) IP 并向他们发送数据来区分他们?
嗯,答案是服务器不仅仅看到 IP 地址。它看到IP:端口。连接到服务器的每个私有(private) IP 都具有相同的公共(public) IP 但端口不同。公网IP属于你的NAT .您的 NAT 为每个私有(private) IP 地址分配唯一端口并映射它们。映射是这样的[私有(private)IP,私有(private)端口,公共(public)IP,公共(public)端口,传输协议(protocol)]。
因此,当您的服务器将数据包发送到公共(public) IP:port 时,数据包将转发到映射的私有(private) IP:port。并且您具有该私有(private) IP:Port 的设备会收到它。
关于file - 如何区分同一ip地址(wifi)中的两个或多个设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31895486/