4

我正在尝试在我的笔记本电脑和我的 Android 之间建立一个 Socket 连接。

我正在将笔记本电脑作为服务器。为了建立连接,我使用的是笔记本电脑的 IP,如ipconfig(运行 Windows 7)所示(此地址与“whatismyip”等网站显示的地址不同)。

当我将笔记本电脑和 Android 连接到同一个无线路由器并使用 ipconfig 提供的地址时,一切正常。

但是,当我使用我的 Android 的 EDGE 连接并访问相同的 IP 地址时,Socket 连接请求被拒绝。此外,whatismyip 提供的 IP 不适用于 WLAN 或 EDGE。

我听说有两个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 回答