【问题标题】:Access localhost ( running on Mac OS X ) from another machine in the network从网络中的另一台机器访问 localhost(在 Mac OS X 上运行)
【发布时间】:2015-03-15 06:14:26
【问题描述】:

我有一个在 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地址(因为如果我通过wifi连接到互联网,它将在同一个局域网中)我应该能够访问我的服务运行我的机器。

有人可以告诉我我在这里做错了什么吗?谢谢你

【问题讨论】:

  • 不清楚服务器的IP地址是什么。是 10.0.2.2 还是 192.168.1.3(或两者都有),还是这里的不同 IP 错了。
  • 嗨睡衣,我添加了一个解释作为对帖子的编辑,这样其他人就不会感到困惑。如果不痛,你能检查一下帖子吗?谢谢你:)

标签: macos rest networking localhost


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    本地主机地址应该是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 页]。

    【讨论】:

      猜你喜欢
      • 2016-05-11
      • 2015-10-03
      • 2012-05-22
      • 1970-01-01
      • 2020-07-06
      • 2016-09-15
      • 2020-03-20
      • 2020-08-24
      • 2018-08-21
      相关资源
      最近更新 更多