Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过外部IP(Mac)连接套接字_C_Sockets_Ip_Port_External - Fatal编程技术网

如何通过外部IP(Mac)连接套接字

如何通过外部IP(Mac)连接套接字,c,sockets,ip,port,external,C,Sockets,Ip,Port,External,我的问题是,如何连接romote mechine上的插座? 我只能在同一网络上连接套接字 我用c编写了一个简单的代码,模拟服务器(打开套接字并监听客户端)。在Mac中 我正在尝试从iPhone将此套接字作为客户端连接(使用简单的objectiv-c代码) 如果我在服务器和客户端上的互联网都在同一个网络(WiFi)上,并且在客户端我试图连接到192.168.1.x,那么它就正常工作了。 但是,在客户端中,我尝试通过外部IP(具有相同端口)连接时,连接失败 我以前从来没有这样做过。也许我错过了什么。

我的问题是,如何连接romote mechine上的插座? 我只能在同一网络上连接套接字

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

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

如果我在服务器和客户端上的互联网都在同一个网络(WiFi)上,并且在客户端我试图连接到192.168.1.x,那么它就正常工作了。 但是,在客户端中,我尝试通过外部IP(具有相同端口)连接时,连接失败

我以前从来没有这样做过。也许我错过了什么。。我已尝试关闭防火墙。这没有帮助

谢谢


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

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


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

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

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

在我的路由器中,这称为“转发”。