Closed SKART1 closed 10 years ago
Имеется ввиду вскр 15.12.13 ?
Да
go skype, I have a mountains of questions)
Хотя нет, сформулировал. Скажи, я правильно понял ситуацию? Клиент получает некий айпи от пользователя, запускает traceroute и затем парсит каждую строку от traceroute'а, вытаскивает из неё очередной айпи и посылает его серверу. А сервер в свою очередь, получая айпи от клиента, вычисляет его геокоординаты и отправляет их клиенту, который рисует на карте баллун. Если так, то класс Traceroute, написанный Гьоко, видимо выполняется на стороне клиента.
Клиент это веб страничка!! Вообщем выходи в скайп
@dm-kiselev ты пишешь модуль. На входе у модуля строка - на выходе "массив" (коллекция) наборов хост+айпи
Класс Гьоко реализует traceroute/tracert путем вызова функции операционной системы считай через консоль/терминал
А как парсить такую строку?
9 iva-b-c2-ae5-0.yndx.net (87.250.239.115) 55.184 ms iva-p1-be1.yndx.net (87.250.239.98) 49.161 ms 49.850 ms
Это в линуксе.
Это не две строки? что она вообще значит?
Одна строка. Просто выполнил в терминале traceroute yandex.ru
и одна из строк получилась такой. Я не знаю, что она значит.
Может быть не каждый раз надо возвращать TracerouteItem? Или по одной строке возвращать несколько, как в этом случае?
А ты в первый раз слышишь что у домена может быть НЕСКОЛЬКО адресов? Что многие домены дублируються?!!!
Тебе надо трейсить IP адрес а не доменное имя!
Ну IP там тоже разные. Так что в итоге? Вернуть любой из них, а остальные проигнорировать?
Мы не трейсим ДОМЕННЫЕ АДРЕСА!!!! Мы трейсим IP
Ты разницу понимаешь?
Ну и что?
То что у IP всегда соединен 1 в 1, вот что.
Что ты хочешь этим сказать?
то что такая строка НЕ МОЖЕТ быть возвращена для IP.
Ты пинговал доменное имя.
Вот, пожалуйста:
$ traceroute 213.180.204.11
traceroute to 213.180.204.11 (213.180.204.11), 30 hops max, 60 byte packets
1 * * *
2 10.199.30.201 (10.199.30.201) 20.312 ms 21.143 ms 33.000 ms
3 192.168.15.58 (192.168.15.58) 33.985 ms 33.331 ms 34.086 ms
4 * * *
5 te2-2-borov-306.core.spb.tvoe.tv (194.226.100.82) 34.281 ms 41.203 ms 41.550 ms
6 diana-spb-ix.yandex.net (194.226.100.90) 40.184 ms 20.840 ms 29.719 ms
7 ochakov-xe-0-0-0-601.yndx.net (213.180.213.134) 18.985 ms 18.352 ms 22.054 ms
8 * * *
9 iva-b-c2-ae5-0.yndx.net (87.250.239.115) 41.176 ms 41.785 ms iva-p1-be1.yndx.net (87.250.239.98) 42.544 ms
10 * iva-b-c2-ae6-0.yndx.net (87.250.239.119) 39.503 ms *
11 * * *
12 * * *
13 yandex.ru (213.180.204.11) 45.290 ms 47.596 ms 48.339 ms
Делай как знаешь.
Задание выполнил. Сделал одну функцию, независимую от системы и языка, потому что используются регулярные выражения. Проверьте на системе с русским языком. По идее, даже если вместо кириллицы будут кракозябры, на работе это никак не отразится, потому что доменное имя и IP, написанные в любом случае латиницей, будут найдены.
Молодец, Дима! Мельком взглянул - вроде должно сработать Выкладываю ссылку на коммит: ce6759174b821e36d917b9669f94d44df3b95feb
Всем тестировать!
Дано в модуле Traceroute есть функция parse(String) 1). Разделить на две функции в зависимости от типа ОС (Windows/UNIX) смотри переменную OSType 2). Реализовать более эффективный парсинг для обоих ОС. Для этого: -Просмотреть все возможные варианты ответа утилит tracert и traceroute -Реализовать получение данных. Желательно при помощи регулярных выражений
Срок сдачи - воскресенье 15.12.2013 12:00. По ознакомлению отписаться в формате: Ознакомлен, согласен/несогласен.