| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Апплеты > Как получить IP в апплете? |
| Автор: Real McCoy 26.11.2007, 13:23 | ||
| Здравствуйте все! Появилась необходимость получать IP или имя машины, на которой запущен апплет. Воспользовался следующим кодом, который нашёл в этом форуме:
Так вот, когда я запускаю апплет в NetBeans'е или просто открываю страничку с апплетом в браузере, то получаю IP типа 192.168.1.х, что меня устраивает, и имя компа. Если же я загружаю страничку с апплетом с локального или удалённого веб-сервера, то получаю 127.0.0.1 и localhost. Почему и как это победить? Спасибо! |
| Автор: skhilkov 26.11.2007, 14:33 |
| Real McCoy, попробуй InetAddress.getAllByName('localhost')... пробежишься по результатам и возьмешь getAddress() у каждого. Добавлено через 8 минут и 5 секунд Хотя... так не получится.... |
| Автор: skhilkov 26.11.2007, 14:52 | ||
Для сети можно вот так попробовать:
|
| Автор: Real McCoy 26.11.2007, 15:57 |
| skhilkov, Спасибо, но пока с тем же результатом: если запускаю апплет локально или открываю его страницу с диска в браузере, то получаю список из двух адресов: 127.0.0.1 192.168.1.2 если же открываю его с локального или удалённого веб-сервера, то получаю только 127.0.0.1 :( |
| Автор: Kangaroo 26.11.2007, 17:22 |
| Real McCoy, вот http://forum.java.sun.com/thread.jspa?threadID=619056&start=30&tstart=0 на форуме сана. Там в конце и код приводится, говорят работает. Пробуй и нам расскажешь. |
| Автор: Real McCoy 26.11.2007, 20:11 | ||||
| Kangaroo, Спасибо! Я тут уже сам кое-что на копал, но то, что прислали Вы, тоже впрок пошло - так сказать, кругозор расширить помогло Итак, по результатам исследований, вот какой апплет у меня получился как синтез двух:
Этот апплет даёт правильный результат, если лежит на удалённом веб-сервере в интернете или на веб-сервере в локалке (но не на моей же машине). Показывает 127.0.0.1 и localhost, если лежит на Апаче у меня на машине (и ч неё же запрашивается). Кстати, сейчас только подумал: может быть у себя я получаю 127.0.0.1 потому, что в %WINDIR%\system32\drivers\etc\hosts и прописано, что
а я делаю запросы именно к нему? В любом случае, проблема в целом решена. Всем спасибо! Буду рад, если кому-то вышенаписанное окажется полезным, и буду не менее рад, если кто-то добавит подробностей по теме P.S. апплет выложен по адресу http://momentum.110mb.com/jtest/getid.html можно тестить |