从网络中的另一台计算机访问localhost(在Mac OS X上运行)

时间:2015-01-16 15:33:34

标签: macos rest networking localhost

我在Mac OS X上运行REST服务,目前我正在使用“ localhost:8888 ”和“ 10.0.2.2:8888 ”进行访问

我想从同一网络中的另一台计算机访问相同的服务。

我也禁用了防火墙,并输入了

 nc -v 192.168.1.3 8888

并将结果作为

nc: connectx to 192.168.1.3 port 8888 (tcp) failed: Connection refused

目前我使用localhost(使用java应用程序访问)和10.0.2.2(使用在模拟器中运行的android应用程序访问),它们都运行在服务器运行的同一台机器上。

我想把Android应用程序放到我的手机上并给机器ip addess(因为如果我通过wifi连接到互联网,它将在同一局域网中)我应该能够访问我的服务运行我的机器。

可以请一些人告诉我这里做错了什么?谢谢

2 个答案:

答案 0 :(得分:0)

您无法从前端代码访问localhost。它需要引用服务器的名称或地址。

答案 1 :(得分:0)

localhost地址应为127.0.0.1,它位于环回的地址范围内。 127.0.0.0/8块中的任何地址都不会出现在任何网络上的任何地址,也不能将该块中的任何地址用作主机外的源地址或目标地址。一台主机无法访问另一台主机上该地址范围内的任何内容。

至少可以追溯到RFC 990, ASSIGNED NUMBERS

  

A类网络号127被分配了"环回"功能,   即,由更高级协议发送到网络127的数据报   地址应循环回主机内部。没有数据报"发送"到了   网络127地址应该出现在任何网络上。

RFC 1122, Requirements for Internet Hosts -- Communication Layers

  

(g){127,}

     

内部主机环回地址。这种形式的地址绝不可以   出现在主持人之外。

另外RFC 3330, Special-Use IPv4 Addresses

  

127.0.0.0/8 - 此块被指定用作Internet主机环回地址。由更高级别协议发送到的数据报   该块内的任何地址都应该在主机内部循环。   这通常只使用127.0.0.1/32来实现环回,   但此块中的地址不应出现在任何网络上   任何地方[RFC1700,第5页]。