我有一个问题,我在我的计算机上运行一个标准的 python 套接字服务器,它连接到我的 wifi。
如果我尝试使用我制作的应用程序通过 iPhone 向服务器发送数据(请注意,手机未连接到 wifi,它使用的是 LTE),数据不会通过。如果 iPhone 连接到不同的 wifi,也会发生同样的事情。
我想知道为什么数据不通过,以及我可以做些什么来使数据通过(注2:如果iPhone与计算机在同一个Wi-Fi上,则可以完美传输数据)。
你应该阅读https://en.wikipedia.org/wiki/TCP_hole_punching
如果两个设备不在同一个 wifi(局域网)上,那么您需要解决需要进行的网络地址转换。
您可以在 python 套接字代码或 wifi 路由器中解决这个问题,例如启用有时称为 DMZ 的东西,它基本上将所有数据包转发到 wifi 上的某个设备。