3

我正在尝试连接到在我的 mac OSX 1.6 上运行的网络服务器。我可以使用http://127.0.0.1:8888/myapp在本地连接到它,但是当我尝试使用我机器的本地 IP 地址连接到它时(http://192.168.1.15:8888/myapp IP 如下所示)来自同一台机器(或网络上的另一台机器)我无法连接。我可以ping通局域网IP地址。

我尝试将 IP 转发添加到我的路由器的 8888 端口,但没有帮助。我已经检查并禁用了 OSX 防火墙

谁能建议还有什么阻止了连接?

这是我运行 ifconfig 时得到的结果:

~ :ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    inet6 ::1 prefixlen 128 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 127.0.0.1 netmask 0xff000000 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:1f:5b:e8:16:4d 
    media: autoselect status: inactive
    supported media: autoselect 10baseT/UTP <half-duplex> 10baseT/UTP <full-duplex> 10baseT/UTP <full-duplex,hw-loopback> 10baseT/UTP <full-duplex,flow-control> 100baseTX <half-duplex> 100baseTX <full-duplex> 100baseTX <full-duplex,hw-loopback> 100baseTX <full-duplex,flow-control> 1000baseT <full-duplex> 1000baseT <full-duplex,hw-loopback> 1000baseT <full-duplex,flow-control> none
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet6 fe80::21e:c2ff:febf:4809%en1 prefixlen 64 scopeid 0x5 
    inet 192.168.1.15 netmask 0xffffff00 broadcast 192.168.1.255
    ether 00:1e:c2:bf:48:09 
    media: autoselect status: active
    supported media: autoselect
fw0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 4078
    lladdr 00:1f:5b:ff:fe:2b:b3:3c 
    media: autoselect <full-duplex> status: inactive
    supported media: autoselect <full-duplex>
en5: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
    ether 00:1e:c2:8e:0f:45 
    media: autoselect status: inactive
    supported media: none autoselect 10baseT/UTP <half-duplex>
en2: flags=8922<BROADCAST,SMART,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    ether 00:1c:42:00:00:00 
    media: autoselect status: inactive
    supported media: autoselect
en3: flags=8922<BROADCAST,SMART,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    ether 00:1c:42:00:00:01 
    media: autoselect status: inactive
    supported media: autoselect
4

4 回答 4

2

默认情况下,您的网络服务器可能绑定到环回接口。应用程序可以“绑定”到特定的接口——如果它只侦听环回接口,您将能够通过 127.xxx ip 而不是外部 ip 进行连接。您可以查看“网络实用程序” -> Netstat -> 显示所有套接字连接的状态,这将显示所有打开的套接字。进一步的调试将需要相关行(可能是端口 8888 上的行)以及您正在运行的网络服务器......

于 2010-03-09T07:45:16.110 回答
1

这对我来说工作正常,然后它突然停止工作。我不相信我在运行/调试配置中进行了任何更改,但也许我做到了。

无论如何,答案是将 --address=0.0.0.0 参数添加到运行/调试配置中。去做这个:

  1. 右键单击您的项目。
  2. 选择运行方式... -> 运行配置
  3. 确保在 Run Configurations 对话框中选择了您的项目,然后选择 Arguments 选项卡。
  4. 插入参数:--address=0.0.0.0

正如我所说,这一直对我有用,我记得在此之前我没有设置这个参数。无论如何,我添加了它,现在一切正常。

TR

于 2011-09-22T15:27:53.107 回答
0

除非这是与编程相关的,否则这个问题可能属于 ServerFault 或 SuperUser。

在任何情况下,如果您在 Mac OS 上编写应用程序,您可能需要指定应用程序正在侦听的确切接口。

于 2010-03-09T07:45:27.860 回答
-1

顺便说一句 - 我认为这是用户错误。我想我可能是在托管模式下使用 Firefox 插件运行 GWT。没有网络服务器正在运行或监听端口 8888,这就是它没有出现的原因!

于 2010-04-07T01:41:16.727 回答