我需要通过 iPhone 和服务器中的 UDP 和 TCP 发送和获取数据包。但是,我想如果我想将数据包发送到客户端(iPhone),他是……有点像服务器。
所以,假设我通过端口 2347 向 iPhone 发送和获取数据包。我需要在 iPhone 上打开端口或类似的东西吗?iPhone 有内置防火墙吗?
iPhone 上没有防火墙。但是,在 99% 的情况下,手机不会有可公开访问的 IP。它可能位于路由器后面的 wifi 上,也可能位于最有可能位于 NAT 池后面的蜂窝网络上。无论哪种方式,您都无法访问这些设备中的任何一个,您的用户也无法在蜂窝环境中访问(并且可能在某些情况下使用 wifi)。考虑用另一种方式来做这件事。
默认情况下,iPhone 上没有防火墙。如果您不需要 iPhone 充当服务器,即绑定端口,您可以让服务器使用接收数据包的信息(即 IP 和端口)将数据包发送回 iPhone,使用协议您的选择,例如 TCP 或 UDP。