iPhone中的端口访问

时间:2011-08-19 11:23:15

标签: iphone networking bonjour

我正在尝试使用端口“xxxx”获取数据“www.example.com”并且我的IP为“192.168.10.6”。服务器必须通过端口“yyyy”将响应发送到我的应用程序。我向服务器发送了一个请求,但服务器将响应发送到ip“203.146.0.9”端口“yyyy”。并且服务器将日志显示为“连接被203.146.0.9:yyyy(port拒绝)”。

我非常熟悉网络编程。根据我的知识,服务器将响应发送到我的DNS /路由器。哪个不接受该端口上的通信。

我的iPhone应用程序侦听设备的端口,而不是dns端口。如何使我的应用程序监听DNS端口或如何使DNS转发响应来自特定服务器到我的本地iP。 我经历了一些帖子,有些人指定了“Bonjour”。但我不知道这一点。任何人都可以通过指出这样的例子或文档来帮助我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

简短的回答:你做不到 答案很长:

每当您通过iPhone连接到服务器时,手机会通过3G或GPRS或其他协议将请求转发到运营商的路由器,该协议会将连接转发到目标服务器。在接收端,服务器看到路由器的IP地址,而不是电话的IP地址。实际上,手机的IP地址只存在于运营商的路由器上,互联网上没有其他地方。您无法从iPhone创建公共服务器(仅可能在本地WiFi连接上,或者如果运营商为电话分配公共可路由IP地址)。因此,您无法启动从服务器到某些iPhone的连接。如果您想要双向通信,则可以使用iPhone连接到服务器,在服务器端使用该通道将数据发送到iPhone。 NAT可能是另一种解决方案,但再一次,它需要您的运营商的特殊规定,这可能是您的选择,但通常不是您的客户拥有iPhone。