Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1] 2  Все   Вниз
  Печать  
Автор Тема: phonegap и виртуальный хост  (Прочитано 26026 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« : 24-02-2012 13:42 » 

доброго всем времени суток !!!!
Имеется: Apache с виртуальным хостом tm (127.0.0.1), phonegap на Eclipse-е, Запущенный Anfroid-эмулятор.
Надо чтоб подхватывал страницу (super.loadUrl("http://tm/index.php")).

При запуске приложения на эмуляторе выдает сообщение The URL could not be found (http://tm/index.php).

Вопрос: Что сделать, чтоб приложение на эмуляторе загрузила страницу через виртуальный хост tm.
Спасибо!
« Последнее редактирование: 24-02-2012 14:17 от Алексей1153++ » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 24-02-2012 13:44 » 

Прописать в hosts соответствие доменного имени tm адресу 127.0.0.1.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 24-02-2012 15:52 » 

Прописано.
Из комповского браузера открывает.
Из эмулятора - не находит.
Записан
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 24-02-2012 16:13 » 

Следует копать в сторону настроек сети на эмуляторе: под каким IP он видит хост, такой и надо использовать.
Записан
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 24-02-2012 18:04 » 

Он видит localhost под 10.0.2.2.
Подскажите пожалуйста чайнику, как ему увидеть tm с теми же 127.0.0.1
Записан
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 24-02-2012 19:09 » 

По-моему, нужно записать 10.0.2.2 в hosts. Во всяком случае, http://developer.android.com/guide/developing/devices/emulator.html#networkaddresses что-то подобное объясняется.
Записан
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 24-02-2012 19:24 » 

В hosts:
127.0.0.1    localhost
127.0.0.1    tm
10.0.2.2      tm

Пишет: Not found   The requested URL /index.php was not found on this server
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 24-02-2012 21:11 » 

бр.... а вы о чем?
покажите что-нибудь наподобие ipconfig
и... слушает ли Apache внешний хост?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 25-02-2012 06:41 » 

В файле httpd-hosts добавил:
Код:
<VirtualHost *:80>
    DocumentRoot "c:/www/tm"
    ServerName tm
</VirtualHost>

ipconfig дает IPv4:192.168.1.2 - а это относится к вопросу.

Цитата
и... слушает ли Apache внешний хост
А как узнать ?

Нашел в инете статью http://mobiledrupal.com/content/using-virtual-hosts-android-emulator
В эмулятор записал hosts со следующим содержанием:

Код:
127.0.0.1    localhost
10.0.2.2      tm

Но при открытии странцы эмулятор опять таки не видит index.php
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 25-02-2012 07:51 » 

Поменяй hosts: укажи напротив tm свой IP вместо 10.0.2.2.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #10 : 25-02-2012 08:19 » 

Не помогает
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 25-02-2012 08:29 » 

В эмуляторе есть ping или другой сетевой диагностический инструмент?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #12 : 25-02-2012 09:09 » 

есть netcfg:
lo         UP              127.0.0.1       255.0.0.0             0x00000019
eth0     UP              10.0.2.15       255.255.255.0     0x00001043
tunl0     DOWN        0.0.0.0           0.0.0.0                 0x00000080
grel0     DOWN        0.0.0.0           0.0.0.0                 0x00000080
Записан
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #13 : 25-02-2012 10:22 » 

Вообще, насколько я понял из описания по приведённой мной ссылке, эмулятор должен видеть всё, поднятое на хосте под 127.0.0.1, под адресом 10.0.2.2. То есть, он по этому IP имеет доступ к локалхосту машины.
А что даёт открытие http://10.0.2.2?

Чёрт, ведь решал года три назад подобную проблему, тестируя взаимодействие android-эмулятора с локальным сокс-сервером. Не помню Жаль
Записан
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #14 : 25-02-2012 10:27 » 

Цитата
А что даёт открытие http://10.0.2.2?

Forbidden

You don't have permission to access / on this server.
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 25-02-2012 10:34 » 

А это что?
eth0     UP              10.0.2.15       255.255.255.0


В hosts:



10.0.2.15      tm
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #16 : 25-02-2012 10:58 » 

10.0.2.15:  В документации написанно
Цитата
The emulated device's own network/ethernet interface

пробовал записать в hosts на эмулятор 10.0.2.15 - тот же результат.
Если набираю http://tm/ то открывается какая-то страница из интернета.
Если http://10.0.2.15   --  такого адреса нет.
Если http://localhost    --  такого адреса нет.
Если http://127.0.0.1   --  такого адреса нет.
Если http://10.0.2.2   -- 

Forbidden
You don't have permission to access / on this server.
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #17 : 25-02-2012 11:26 » 

Ок.
Тогда нарисуй схему.

Где запущен апач? (система)
Где запущен эмуляторо Android?
Как эмулятор связывается с гипервизором?

На гипервизоре
ipconfig /all (ifconfig)

На эмуляторе
(ipconfig /all)



Цитата
pconfig дает IPv4:192.168.1.2 - а это относится к вопросу.
Конечно имеет. Надо видеть еще и десятую подсеть.

Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #18 : 25-02-2012 11:41 » 

Цитата
Где запущен апач? (система)
W 7

Цитата
Где запущен эмуляторо Android?
Там же

Цитата
Как эмулятор связывается с гипервизором?
Может я ошибаюсь, гипервизор - это сервис виртуальной машины. Как эмулятор может связываться с этим сервисом , и как узнать каким образом он связан ?
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #19 : 25-02-2012 11:56 » 

Где ipconfig?

Добавлено через 2 минуты и 53 секунды:
Допустим... Для простоты. Эмулятор = виртуальная машина.
Как эмулятор видит внешнюю сеть? и видит ли?
« Последнее редактирование: 25-02-2012 11:59 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 25-02-2012 12:06 » 

Выполни с хоста ping на IP эмулируемого устройства.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #21 : 25-02-2012 15:27 » 

Допустим... Для простоты. Эмулятор = виртуальная машина.
Насколько помню, андроидовский эмулятор - это qemu-виртуалка, скомпилированная в бинарник.
Записан
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #22 : 25-02-2012 18:29 » 

Эмулятор открывает страницы интернета.
Если прописать http://10.0.2.3 то пытается подключиться к роутеру, запрашивая логин и пароль.
ping на 10.0.2.2 не проходит, равно как и на 10.0.2.15, 10.0.2.3.
Как его заставить увидеть виртуальный хост ?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #23 : 25-02-2012 19:16 » 

Напоминаю:

Ок.
Тогда нарисуй схему.

Где запущен апач? (система)
Где запущен эмуляторо Android?
Как эмулятор связывается с гипервизором?

На гипервизоре
ipconfig /all (ifconfig)

На эмуляторе
(ipconfig /all)
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #24 : 26-02-2012 06:35 » 

Apache запущен в Windows 7
в настройках httpd прописал вместо Listen 80 -> Listen 127.0.0.1:8080
В httpd-vhosts :
Код:
<VirtualHost *:8080>
    DocumentRoot "c:/www/tm"
    ServerName tm
</VirtualHost>

После этого перезапустил Apache и в эмуляторе прописал адрес  http://10.0.2.2:8080

Мой сайт открылся  Отлично

Проблема решена, но Почему не видит по 80 порту.

Эмулятор Android запущен так же на Windows 7

А какие существуют методы связки эмулятора с гипервизором ?
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #25 : 26-02-2012 07:16 » 

Sulik, порт 80 блокирован какой-то другой службой. Может тем же Апачем - сайтом по умолчанию, может IIS.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #26 : 26-02-2012 07:33 » 

Sulik, 127,0,0,1 - это локальный хост. Для доступа с другого хоста используй либо 0.0.0.0 (все интерфейсы), либо IP желаемого интерфейса.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #27 : 26-02-2012 09:56 » 

А скорей всего блокируется скайпом

Я ведь не зря спросил, а слушает ли апач хост?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #28 : 27-02-2012 05:41 » 

Если в начале запустить скайп, то потом Apache  не запускается.
Если в начале запустить Apache, то скайп запускается.
Если закрыть все программы(кроме Apache) то все равно не заходит под 80 портом.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #29 : 27-02-2012 05:55 » 

Файрвол пробовал выключать?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1] 2  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines