Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пингующий мидлет 
:(
    Опции темы
ovod
Дата 14.6.2004, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 5.6.2004

Репутация: нет
Всего: 1



Есть ли пример простейшего ping.java с использованием токма javax.microedition.io.* ?
PM MAIL   Вверх
AntonSaburov
Дата 15.6.2004, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Насколько я помню ICMP в JAVA не поддерживается - а потому возможности сделать полноценный PING не получается. Был когда-то примерчик несколько исскуственного пинга - использовать еще какой-то порт.
PM MAIL WWW ICQ   Вверх
ovod
Дата 15.6.2004, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 5.6.2004

Репутация: нет
Всего: 1



...Хмм..
я задал этот вопрос, потому что в программке для мобилы! NetTools v.0.2 (брать здесь http://download.siemens-club.ru:8000/files/java/nt.rar) намечен и ping, и whoIs и tracert, но самое главное - там действующий SSH-клиент!
Ковырять исходники можно чудным декомпилятором djdec377 (брать здесь http://www.simtel.net/product.download.php...eID=simtel.net)
В J2SE конешно есть пакет java.net (которого нету в j2ME sad.gif ), на основе которого куча ping.java в гугле. А что представляет собой этот java.net (конкретно его реализация) не пойму. Если этот пакет на java написан, то не мог бы кто-нить его мне прислать пощупать, плиз?
С большой радостью также приму ссылку на реализцию пинга через порт.
PM MAIL   Вверх
AntonSaburov
Дата 16.6.2004, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Цитата
но самое главное - там действующий SSH-клиент!

Так это работает уже на уровне TCP. А ping существует на том же уровне, но ICMP. И его на JAVA не сделать.

То, что гугль выдает кучу ping.java - так это скорее всего надстройка над JNI. А реальный код на Си написан.

А вот примерчик "якобы" ping
http://www.3dcom.com/ping/Pinger.html
PM MAIL WWW ICQ   Вверх
Sun
Дата 16.6.2004, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Account removed
***


Профиль
Группа: Экс. модератор
Сообщений: 1611
Регистрация: 14.8.2002

Репутация: 8
Всего: 48



Пинг наверно можно без труда написать на чистой Java. По идее надо открыть UDP сокет и отсылать на него ICMP-пакеты, которые можно тоже формировать через Java. Пинг построен по принципу эхо-сервера, ты посылаешь датаграмму а сервер возвращает ее тебе. Описание ICMP можно посмотреть тут:
http://www.school.ioffe.ru/lessons/courses/tcpip/icmp.html


--------------------
Account removed
PM MAIL   Вверх
AntonSaburov
Дата 16.6.2004, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Цитата
По идее надо открыть UDP сокет и отсылать на него ICMP-пакеты

Так UDP-заголовок сформировать у тебя не получится - не тот уровень.
Или есть идеи ?
Я просто как-то раз занимался этим вопросом. И мне пришлось делать свой ping через JNI.

Но если что-то может получится - было бы интересно.
PM MAIL WWW ICQ   Вверх
Nobody
Дата 16.6.2004, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: 4
Всего: 16



Анриал. На Яве такой низкоуровневый код писать нельзя.


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
ovod
Дата 17.6.2004, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 5.6.2004

Репутация: нет
Всего: 1



Ситуация такая:
1) Если "выплевывать" сформированный "вручную" ICMP-пакет c type 8 через UDP-сокет (хотя тут вопрос: при организации сокета можно ли не указывать порт доставки? ), то нужно как-то все равно ловить ICMP ехо-пакет c type 0. Куда ж все-тки пингуемый отвечает, ведь не на порт? Как мы поймаем?
2) либо же UDP-пакет на неиспользуемый порт, и тогда пингуемый опять же ответит ICMP-пакетом с type 3. Вопрос опять не снимается.
3) либо же на пингуемом хосте должен быть запущен ехо-порт, например 7, который нам ответит UDP-пакетом, но не всяком компе этот ехо-порт запущен.
4) либо же делать косвенный пинг, посылая команду "сделать пинг" некоторому промежут. серверу и получая отчет по TCP.

Правильно ли я рассуждаю? Поправьте. RFCы читал, но по англицки тяжело, 5% понимания.
PM MAIL   Вверх
AntonSaburov
Дата 17.6.2004, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Мда-а-а. Есть идея - хостинг пингов smile.gif
Т.е. сервер занимается тем, что по TCP принимает запросы на пингование и отсылает результаты пинга.

Вообщем пункт 4 занятен.
PM MAIL WWW ICQ   Вверх
Nobody
Дата 17.6.2004, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: 4
Всего: 16



AntonSaburov
Хех)) да, конечно, это было бы неплохо, только надо что-то делать, чтобы не заDOSили...
Добавлено @ 18:01
В принципе, идея действительно хорошая, можно бы и сделать smile.gif


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
Sun
Дата 17.6.2004, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Account removed
***


Профиль
Группа: Экс. модератор
Сообщений: 1611
Регистрация: 14.8.2002

Репутация: 8
Всего: 48



Да уж, на чистой Java ping не сделать так как она не поддерживает сырые (RAW) сокеты. Я тут дискусси на форуме почитал, насколько я понял решение так и не найдено
http://forum.java.sun.com/thread.jsp?threa...message=2519662


--------------------
Account removed
PM MAIL   Вверх
ovod
Дата 21.6.2004, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 5.6.2004

Репутация: нет
Всего: 1



Можно ли импортировать функции из WS2_32.dll в Java-приложение? Ваще импорт возможен из внешних библиотек? Например?
PM MAIL   Вверх
Domestic Cat
Дата 21.6.2004, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172





--------------------

PM   Вверх
AntonSaburov
Дата 21.6.2004, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Еще в JAVA 1.5 есть InetAddress.isReachable()
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0832 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.