4

ラップトップと Android の間にソケット接続を確立しようとしています。

ラップトップをサーバーとして作成しています。接続を確立するために、(Windows 7を実行している)で示されているラップトップのIPを使用していますipconfig(このアドレスは、「whatismyip」などのWebサイトで表示されるものと同じではありません)。

ラップトップと Android の両方を同じワイヤレス ルーターに接続し、ipconfig で指定されたアドレスを使用すると、問題なく動作します。

しかし、Android の EDGE 接続を使用して同じ IP アドレスにアクセスすると、Socket 接続要求が拒否されます。また、whatismyip によって指定された IP は、WLAN でも EDGE でも機能しません。

内部と外部の 2 つの IP アドレスがあると聞きました。そして、ipconfig で指定されたアドレスが内部アドレスだと思います。また、ポートフォワーディングと呼ばれる手続きもあります。

誰かが EDGE 接続を介して ServerSocket にアクセスするのを手伝ってくれませんか? そのためにどの IP を使用すればよいですか? また、ポート転送を行う必要がある場合、どのように行うことができますか? ありがとう。

4

1 に答える 1

2

ラップトップで ipconfig コマンドを実行すると、ルーターに接続しているインターフェイスに表示される IP アドレスはプライベート アドレスです (ルーティング可能なアドレスではありません)。whatismyip で表示される IP アドレスは、モデムに割り当てられた IP アドレスです。携帯電話が Wi-Fi 経由でルーターに接続されている場合、ラップトップと同じサブネット内にあり、接続を作成できます。EDGE ネットワーク上にいるときは、別のサブネット上にあり、ラップトップの IP はルーティングできないため、接続できません。ほとんどのルーターでは、宛先ポートのすべての入力トラフィックがラップトップに送信されるように構成できます。この設定はルーターごとに異なりますが、考え方は同じです。このトラフィックの転送先の IP アドレスは、ラップトップのプライベート IP アドレス (ipconfig で表示されるもの) です。

于 2012-12-19T03:18:27.443 に答える