| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Ошибка или такое бывает? |
| Автор: XClan 15.1.2004, 12:16 | ||
| При проверке IP после ввода в поле обнаружил странные вещи... Если поле пустое - выдает localhost/127.0.0.0 ( почему пока без понятия) Но такое чтоб было, в никакие рамки не лезет!! Пишу 0.0.0.0 - пишет верно и возвращает, пишу 123.123 возвращает 123.0.0.123!!!!! Правда если пишу нереальные АйПи типа 321.09.0.0 он выдает сообщение о неправильном IP, но не бывает такого АйПи как 0.0.0.0! Неужели это верный способ проверки IP? Применял я пакет java.net.InetAddress и java.io.*; Сам код проверки выклядит так
Есть варианты? |
| Автор: Sun 15.1.2004, 13:10 |
| Видимо в классе InetAddress нет строгой проверки на валидность IP-адресов. Ты можешь написать свою проверку, используя регулярные выражения. |
| Автор: AntonSaburov 15.1.2004, 13:11 | ||
Посмотри, что эта функция тебе возвращает. |
| Автор: XClan 15.1.2004, 13:43 |
| Возвращает hostname | IPaddress, хотя первое для меня не нужна! |
| Автор: AntonSaburov 15.1.2004, 14:41 |
| Читайте документацию - это иногда проясняет мысли Textual representation of IPv4 address used as input to methods takes one of the following forms: d.d.d.d d.d.d d.d d When four parts are specified, each is interpreted as a byte of data and assigned, from left to right, to the four bytes of an IPv4 address. When a three part address is specified, the last part is interpreted as a 16-bit quantity and placed in the right most two bytes of the network address. This makes the three part address format convenient for specifying Class B net- work addresses as 128.net.host. When a two part address is supplied, the last part is interpreted as a 24-bit quantity and placed in the right most three bytes of the network address. This makes the two part address format convenient for specifying Class A network addresses as net.host. When only one part is given, the value is stored directly in the network address without any byte rearrangement. For methods that return a textual representation as output value, the first form, i.e. a dotted-quad string, is used. |
| Автор: XClan 15.1.2004, 15:02 |
| Да я читал ее, но она работает только в 1.4.x версии! ;( В том то и дело! |