从Android Emulator访问本地VirtualBox上的Node.js.

时间:2011-05-30 21:23:40

标签: android node.js android-emulator virtualbox

作为学习Node.js的一部分,我决定将它用作Android客户端的服务器端。 我部署了一个带有Node,NPM,Android SDK和Netbeans 7的Ubuntu 11 VirtualBox,然后去了它。

问题:我无法从模拟器访问本地主机。

这是我尝试过的:
1.节点“hello world”脚本:

var app = require('express').createServer();

app.get('/', function(req, res){
    res.send('Hello World\r\n');
});

app.listen(3000);

2。终端> ifconfig返回'inet addr:10.0.2.15' 3.终端> curl 10.0.2.15:3000 - > “你好世界”
4.浏览器> http://10.0.2.15:3000 - > “你好世界”
5. Android模拟器>应用尝试访问http://10.0.2.15:3000 - > “与http://10.0.2.15:3000的连接被拒绝” 6. Android模拟器> Android浏览器> http://10.0.2.15:3000> “网页不可用”

只是为了验证,我做了Android模拟器>浏览器>任何其他页面 - 作品。
所以看起来Android Emulator无法访问本地VirtualBox IP。

我没有在VBox内部运行防火墙,我知道我可以更改模拟器中没有设置。起初我认为这是我的应用程序(尽管它是一个虚拟的“获取网址”小应用程序,其清单中有android.permission.INTERNET),但我甚至无法通过浏览器访问它。

我错过了什么方向或想法? 感谢您的时间和帮助!

1 个答案:

答案 0 :(得分:3)

得到它(我想!) 感谢cababbunga的评论,我开始搜索“Emulator IP”并找到this question,答案是始终可以在10.0.2.2到达本地机器。 我尝试了它,它可以在浏览器和应用程序中运行!

感谢您让我走上正轨!