作为学习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
),但我甚至无法通过浏览器访问它。
我错过了什么方向或想法? 感谢您的时间和帮助!
盖
答案 0 :(得分:3)
得到它(我想!) 感谢cababbunga的评论,我开始搜索“Emulator IP”并找到this question,答案是始终可以在10.0.2.2到达本地机器。 我尝试了它,它可以在浏览器和应用程序中运行!
感谢您让我走上正轨!