java – 拒绝套接字连接请求

我想在我的笔记本电脑和我的
Android之间建立一个Socket连接.

我正在将笔记本电脑作为服务器.为了建立连接,我正在使用ipconfig(运行Windows 7)所示的笔记本电脑的IP(这个地址与’whatismyip’等网站所示的地址不同).

当我将笔记本电脑和Android连接到同一个无线路由器并且使用ipconfig给出的地址时,工作正常.

但是,当我使用Android的EDGE连接并访问相同的IP地址时,Socket连接请求被拒绝.此外,whatismyip给出的IP对WLAN或EDGE都不起作用.

我听说有两个IP地址,内部和外部.我想ipconfig给出的地址是内部地址.此外,还有一些称为端口转发的过程.

有人可以帮我通过EDGE连接访问ServerSocket吗?我应该使用哪种IP,如果我需要进行端口转发,怎么办呢?
谢谢.

最佳答案 在您的笔记本电脑上,当您运行ipconfig命令时,它在您连接到路由器的任何接口上显示的IP地址是私有地址(不是可路由的地址). whatismyip显示的IP地址是分配给调制解调器的IP地址.当您的手机通过Wi-Fi连接到路由器时,您与笔记本电脑位于同一子网内,并且可以创建连接.当您在EDGE网络上时,您位于不同的子网上,并且由于您的笔记本电脑的IP不可路由,因此您无法连接到它.在大多数路由器上,您可以将目标端口的所有入口流量配置为发送到您的笔记本电脑.每个路由器的配置各不相同,但想法是一样的.您要将此流量转发到的IP地址是您的笔记本电脑的私有IP地址(ipconfig显示的IP地址),并且该端口是您要发送的流量的目标端口.

点赞