2012-05-29 4 views
0

У меня есть IP-адрес, и я хочу знать, доступен ли он или нет. После googling я знаю, что возможным решением является создание пробного сообщения ARP, а затем отправка его на этот адрес. Для выполнения этой задачи будет использоваться DatagramSocket. Можете ли вы рассказать мне, как создать такое сообщение (я мало знаю о сети) и, если возможно, дать мне небольшой пример.Отправить сообщение об ошибке ARP

спасибо.

+0

Люди с большей вероятностью помогут вам разобраться в том, что вы пробовали, или о том, что вы не понимаю. Вопросы, просто запрашивающие код, не всегда хорошо принимаются. – JeffryHouser

+0

На самом деле, я хочу реализовать DHCP-like с помощью actionscript, это одна из моих студенческих проектов, теперь я ищу возможные решения ... – nxhoaf

ответ

0

Я сделал это с помощью службы JSP для ping нескольких серверов, а затем вернул результат в XML, который мое приложение flex читает и отображает статус сервера. Вы можете сделать это без среднего уровня обслуживания, просто используя actionscript, но это будет немного дольше, так как вам придется ждать, пока сообщение об ошибке 404 вернется с каждой страницы.

Способ 1: Используйте JSP (или большинство других языков) для создания службы, которая опросит IP-адреса (опрос IP-адресов и портов на этих IP-адресах), которые вы хотите, и вернуть XML, который Flash читает и визуализирует.

Способ 2: Используйте несколько вызовов HTTPService внутри flex, каждый из которых запрашивает ваш IP-адрес. В своем коде результата сделайте что-нибудь и в своем коде ошибки сделайте что-нибудь еще. (Примечание: этот метод работает только в том случае, если вы пытаетесь попасть на общедоступные веб-страницы, которые имеют файлы crossdomain.xml в корнях сервера)

+0

Моя проблема в отношении способа получения IP-адреса для моего устройства , То есть у меня нет IP-адреса раньше. Для этого я думаю о отправке сообщения зонда ARP на случайно выбранный IP-адрес, чтобы проверить, доступно ли это или нет. Ваше приложение признает, что оно имеет свой собственный IP-адрес раньше? – nxhoaf

+0

У меня есть известный набор IP-адресов. Как вы этого не сделаете, это добавит немного сложнее, но все же выполнимо. Как вы произвольно выбираете IP? Ввод его в пользовательский интерфейс Flex или выбор Flex произвольно? В любом случае, вы можете передать выбранный IP-адрес службе среднего уровня в качестве параметра и вместо этого использовать IP-адрес, если это фиксированный IP-адрес. – Dom

+0

Способ, которым я использую случайное создание IP-адреса, - это локальный адрес ссылки http://en.wikipedia.org/wiki/Link-local_address. С этим Ip в руке я хочу создать пробное сообщение ARP, а затем транслировать его. Если никто не заявит о своем использовании этого адреса, я буду использовать его в качестве своего IP-адреса. Напротив, я попробую другой IP-адрес. – nxhoaf