如何通过外部IP(Mac)连接插座

时间:2012-01-31 13:40:40

标签: c sockets ip port external

我的问题是,如何连接到romote机器上的插座? 我只能连接同一网络上的套接字..

我写了一个简单的代码(在c中),它模拟了一个服务器(打开套接字并监听客户端)。在Mac。

我正在尝试将此套接字作为客户端从iPhone连接(使用简单的objectiv-c代码)。

如果我的服务器和客户端上的互联网都在同一个网络(WiFi)上,而在我尝试连接到192.168.1.x的客户端,则它正在运行。 但是,在客户端,当我尝试通过外部IP连接(使用相同的端口)时,连接失败。

我从未做过这样的事。也许我想念一些事情......我试图关闭我的防火墙。它没有帮助。

感谢。

编辑:如果不清楚..我的Mac是通过路由器连接的。

2 个答案:

答案 0 :(得分:2)

在这样的设置中,“外部IP”通常是路由器的IP。您很可能需要配置路由器以将相关端口转发到内部IP地址。

也可能是端口转发工作的情况,请求必须在外部(WAN)接口上进入。这取决于路由器的配置方式。如果是这种情况,您需要确保通过蜂窝网络访问外部IP而不是iPhone上的Wi-Fi连接。

答案 1 :(得分:0)

如果您通过本地IP地址连接到服务器(即,您通过委派的DHCP地址连接到同一本地路由器上的另一台计算机),那么您的问题出在网络上,而不是IP-堆栈的本地机器。

您需要查看路由器设置...许多路由器将阻止许多服务,尤其是自定义端口上的服务,以防止来自本地网络外部的源的恶意攻击。

相关问题