3

Mac OSX 1.6 で実行されている Web サーバーに接続しようとしています。http://127.0.0.1:8888/myappを使用してローカルに接続できますが、マシンのローカル IP アドレス ( http://192.168.1.15:8888/myapp IP を以下に示します) を使用して接続しようとすると)同じマシン(またはネットワーク上の別のマシン)から接続できません。LAN IP アドレスに ping を実行できます。

ポート 8888 のルーターに IP 転送を追加しようとしましたが、役に立ちませんでした。確認したところ、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

Web サーバーは、デフォルトでループバック インターフェイスにバインドされている可能性があります。アプリケーションは特定のインターフェイスに「バインド」できます。ループバック インターフェイスでのみリッスンする場合、127.xxx IP 経由で接続できますが、外部 IP 経由では接続できません。「ネットワーク ユーティリティ」 -> Netstat -> すべてのソケット接続の状態を表示すると、開いているすべてのソケットが表示されます。さらにデバッグするには、これから関連する行 (おそらくポート 8888 の行) と、実行している Web サーバーが必要になる可能性があります...

于 2010-03-09T07:45:16.110 に答える
1

これは私にとってはうまく機能していましたが、突然機能しなくなりました。実行/デバッグ構成で何も変更したとは思いませんが、変更した可能性があります。

とにかく、答えは--address=0.0.0.0パラメーターを実行/デバッグ構成に追加することです。これをする:

  1. プロジェクトを右クリックします。
  2. [実行...]->[構成の実行]を選択します
  3. [構成の実行]ダイアログでプロジェクトが選択されていることを確認し、[引数]タブを選択します。
  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を実行またはリッスンしているWebサーバーがなかったため、表示されませんでした。

于 2010-04-07T01:41:16.727 に答える