【发布时间】:2011-07-31 17:37:43
【问题描述】:
我想为 iOS 设备制作一个应用程序,该应用程序将使用 HTTP POST 请求与特殊类型的远程设备进行通信。问题是这个设备实际上会扮演客户端的角色,而 iOS 设备必须是接受请求的服务器。下一个问题,必须在发送请求的设备上静态配置主机名和端口。
虽然我知道可以尝试使用动态 DNS 服务和 UPnP/IGD 或 NAT-PMP 来解决 iOS 设备位于 NAT 路由器后面的问题,但我想知道使用 Bonjour 是否可以简化问题某种程度上来说。我是网络方面的新手,所以我正在寻找方向,如果 Bonjour 不会给我带来任何东西,我想避免研究它。
对于如何解决问题的任何其他想法也表示赞赏。
【问题讨论】:
-
更好地描述网络拓扑可能会有所帮助 - iOS 设备和其他“客户端”设备是否在同一个本地网络上?
-
这才是重点,他们不是,所以他们需要通过互联网进行通信,而 iOS 可能在某些路由器和 NAT 后面使用 wifi 或 3G
-
虽然 Bonjour (mDNS) 可以在 WAN 上使用,但它实际上是为链接本地网络上的广告/发现而设计的。如果 iPhone 是通过蜂窝网络连接的,那么 iOS 上就不能真正依赖 uPNP。该设备是面向互联网还是在路由器后面?
-
我认为期望它也可能在路由器后面更现实
-
某种服务器充当中间人将是典型的解决方案,但我假设您希望设备在没有第三方的情况下相互发现?
标签: iphone objective-c http networking bonjour