我正在尝试服务器获取数据"www.example.com“,端口为"xxxx”,ip为"192.168.10.6“。服务器必须通过端口"yyyy“将响应发送到我的应用程序。我向服务器发送了一个请求,但服务器将响应发送到ip "203.146.0.9“端口"yyyy”。服务器显示日志为"Connection rejected by 203.146.0.9:yyyy(port)“。
我是网络编程的初学者。据我所知,服务器将响应发送到我的DNS/路由器。它不接受该端口上的通信。
我的iPhone应用程序监听设备的端口,而不是dns端口。如何让我的应用程序侦听DNS端口,或者如何让DNS转发来自特定服务器的响应到我的本地iP。我浏览了一些帖子,一些帖子指定了"Bonjour“。但我对此一无所知。有没有人可以帮我指出这样的例子或文档来解决这个问题?
发布于 2011-08-19 19:31:41
简短的回答:你不能长回答:
只要你通过iPhone连接到服务器,手机就会通过3G、GPRS或其他协议将请求转发给运营商的路由器,后者再将连接转发到目的地服务器。在接收端,服务器看到的是路由器的IP地址,而不是电话的IP地址。实际上,电话的IP地址只存在于运营商的路由器上,而不存在于互联网上的其他地方。您不能从iPhone创建公共服务器(只有在本地WiFi连接上,或者运营商为电话分配了公共可路由IP地址的情况下)。因此,您无法启动从您的服务器到某些iPhone的连接。但是,如果您希望双向通信,则可以使用iPhone连接到服务器,并在服务器端使用该通道向iPhone发送数据。NAT可能是另一种解决方案,但同样,它需要您的运营商提供特殊规定,这可能是您的一个选择,但通常不是您拥有iPhones的客户端。
https://stackoverflow.com/questions/7120836
复制相似问题