当两台机器共享同一个wifi网络时,是否可以从另一台机器连接到一台机器上托管的servlet。我们可以为 servlet 主机提供什么 IP 地址?我需要在我的 android 应用程序中测试一个功能,我通过 servlet 将数据插入数据库。问题是我的服务器(servlet+db 托管)和 android 开发。机器都共享同一个wifi网络。
1 回答
如果您没有任何防火墙规则阻止主机上的此类访问,这当然是可行的。
正如“Eng.Found”所指出的,尝试使用分配给服务器的 IP 地址。如果是 10.0.2.2。尝试连接到开发机器本身,它肯定不是服务器的IP地址。为了进一步详细说明,
首先确保您可以通过服务器本身的 localhost 访问 servlet。如果是,则获取服务器的 IP 地址并从您的开发机器/另一台设备 ping 它。如果你能ping通它,那么你就可以访问机器了。否则,您可能必须确保某些防火墙规则没有阻止它。
然而,Ping 不能与端口关联,因此您可以在服务器控制台上使用诸如“netstat”之类的命令来获取其侦听的所有端口的列表(如果需要)。
作为非静态 IP 地址的快速测试,您还可以将主机设置为 0.0.0.0 以监听服务器上的所有接口。如果它是一台 linux 机器,你可以简单地在你的 shell 窗口上尝试“export HOST=0.0.0.0”来设置会话的主机。对于 Windows,您可能需要编辑“主机”文件。在 XP 中,可以在 C:\Windows\System32\drivers\etc\hosts 中找到它
现在尝试使用来自同一 wifi 网络上的不同机器的端口和 servlet url 的服务器 IP 地址,希望您能得到响应。
另请注意,根据您用作 servlet 容器的服务器,还有一些设置可能对您有用。