В рамках изучения Node.js я решил использовать его на стороне сервера для клиента Android.
Я развернул Ubuntu 11 VirtualBox с Node, NPM, Android SDK и Netbeans 7 - и пошел к нему.
Проблема: я не могу получить доступ к своему локальному хосту из эмулятора.
Вот что я попробовал:
1. Сценарий узла "Привет, мир":
var app = require('express').createServer();
app.get('/', function(req, res){
res.send('Hello World\r\n');
});
app.listen(3000);
2. Terminal> ifconfig
возвращено 'inet addr: 10.0.2.15'
3. Терминал> curl 10.0.2.15:3000
-> «Hello World»
4. Браузер> http://10.0.2.15:3000 -> «Hello World»
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 не может получить доступ к локальному IP-адресу VirtualBox.
У меня нет брандмауэров, работающих внутри VBox, и я не знаю настроек внутри эмулятора, которые я могу изменить. Сначала я подумал, что это мое приложение (хотя это фиктивное небольшое приложение «get url» с android.permission.INTERNET
в манифесте), но я даже не могу открыть его из браузера.
Какое направление или идею я пропустил?
Мы ценим ваше время и помощь!
Guy