Android模拟器跨网络进行网络连接

3

我有一个需要连接到套接字服务器的安卓应用程序。如果套接字服务器在我的开发机器上运行,那就很简单了。但是,套接字服务器不仅不在我的机器上运行,而且在另一个子网上运行。我该如何将模拟器连接到套接字服务器?我知道端口转发如何连接本地机器,但是我有点困惑如何从我的开发机器重定向到另一个子网。


我不太熟悉端口转发,但我会考虑像udp:132.55.31.14:9102这样的协议、IP地址和端口。(这些是随机数字) - Sephy
1个回答

1

你能从模拟器的主机机器访问套接字服务器吗?我不知道你怎么想,但我一直在Android模拟器上测试一个网络客户端应用程序,它似乎可以通过标准的Java网络调用访问开发框架上网络中的任何内容,而无需进行特殊设置。这包括更广泛的互联网。

如果你不能,你需要设置服务器端以确保服务器暴露给远程机器;除非服务器也是Android模拟器,否则这与你在Android模拟器端所做的事情无关。当然,这可能涉及防火墙规则和标准网络路由。


我的开发机可以轻松连接到套接字服务器。我会继续调试它。 - Falmarri
你的网络在模拟器之外是什么样子的?也许模拟器的地址空间存在某种冲突。 - Walter Mundt
1
另外,作为一种故障排除措施,你可以在开发机器上创建一个ssh隧道,命令是ssh server -L1234:localhost:serverport,然后让你的应用程序连接到10.0.2.2:1234,使用某个端口1234,以查看你的网络代码是否正常工作。 - Walter Mundt
哦,你知道吗?模拟器可能会与地址空间冲突。我不知道整个网络的布局。我会问管理员子网看起来像什么。 - Falmarri
模拟器使用10.0.2.*,但是除非您的本地子网或套接字服务器位于这些地址之一,否则我认为您应该没问题。 - Walter Mundt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接