Доступ к Node.js в локальном VirtualBox из эмулятора Android

1

В рамках обучения Node.js я решил использовать его на стороне сервера для клиента Android. Я развернул виртуальный бокс Ubuntu 11 с Node, NPM, Android SDK и Netbeans 7 - и пошел к нему.

Проблема: я не могу получить доступ к локальному хосту из эмулятора.

Вот что я пробовал:
1. Node "мир привет" script:

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 → "Hello World"
4. Браузеp > http://10.0.2.15:3000 → "Hello World"
5. Android-эмулятоp > приложение пытается получить доступ к http://10.0.2.15:3000 → " Подключение к http://10.0.2.15:3000 отказался"
6. Android-эмулятоp > Android-браузеp > http://10.0.2.15:3000 > "веб-страница недоступна"

Просто, чтобы проверить, я сделал эмулятор Android > Браузеp > любая другая страница - работает.
Таким образом, похоже, что эмулятор Android не может получить доступ к локальному IP-адресу VirtualBox.

У меня нет брандмауэров, работающих внутри VBox, и я не знаю настройки внутри эмулятора, который я могу изменить. Сначала я был моим приложением (хотя это манекен "получить url" небольшое приложение с android.permission.INTERNET в его манифесте), но я не могу даже дотянуться до него из браузера.

Любое направление или идея, которую я пропустил?
Ваше время и помощь приветствуются!

Гай

  • 1
    Какой IP-адрес назначен вашему эмулятору Android? IIRC по умолчанию это тот же 10.0.2.15.
  • 0
    Вы пытаетесь объединить два сетевых "хака", которые не очень хорошо сочетаются друг с другом, тем более что оба они придают особое значение подсети 10.0.0.0. Попробуйте переместить подсеть virtualbox в другую. Также рассмотрите возможность перенаправления локального порта в virtualbox на порт, на котором слушает ваш сервер, например, подключившись к нему по ssh с физической машины и считывая данные с порта ssh, затем подключитесь к этому порту с виртуального устройства Android по специальному псевдониму. для петлевого адреса хост-компьютера.
Показать ещё 4 комментария
Теги:
android-emulator
virtualbox

1 ответ

2
Лучший ответ

Получил (думаю!) Благодаря комментарию cababbunga я начал искать "Emulator IP" и нашел этот вопрос с ответом на то, что локальная машина всегда может быть достигнута в 10.0.2.2. Я попробовал, и он работает как в браузере, так и в приложении!

Спасибо, что поставил меня на правильный путь!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню