2012-05-29 87 views
0

我有一個IP地址,我想知道它是否可用。谷歌搜索後,我知道一個可能的解決方案是創建一個ARP探測消息,然後將其發送到該地址。爲了完成這個任務,將使用DatagramSocket。你能告訴我如何創建這樣的消息(我對網絡不太瞭解),如果可能的話,給我一個小例子。發送ARP探測消息

謝謝。

+0

的人更有可能幫助,如果你詳細說明你已經嘗試過什麼,或者你不明白。只是詢問代碼的問題並不總是受到歡迎。 – JeffryHouser

+0

事實上,我想實現一個DHCP類使用ActionScript,這是我的學生項目的一部分,我現在尋求可能的解決方案... – nxhoaf

回答

0

我已經使用JSP服務來ping多臺服務器然後返回XML由此我的Flex應用程序讀取和生成服務器狀態的做到了這一點。您可以在不使用服務中間層的情況下執行操作,只需使用actionscript,但會稍微長一點,因爲您必須等待從每個頁面返回404錯誤消息。

方法1: 使用JSP(或任何其他語言)創建一個服務,用於輪詢您想要的IP(我輪詢IP和這些IP的端口)並返回Flash讀取和呈現的XML。

方法2: 使用多個HTTPService調用的撓曲內,每個查詢你的IP的。在你的結果代碼中,做一些事情,並在你的錯誤代碼中,做一些其他的事情。 (注:此方法僅適用,如果你想打公開accessable的網頁,所有在服務器的根crossdomain.xml的文件)

+0

我的問題關於獲取IP地址,我的設備的方式。也就是說,我以前沒有IP地址。爲此,我想發送一個ARP探測消息給隨機選擇的IP來驗證它是否可用。你的應用程序之前是否確認它有自己的IP地址? – nxhoaf

+0

我有一套已知的知識產權。如果你不這樣做,那會增加一點複雜性,但仍然可行。你如何隨機選擇IP?將它輸入到Flex用戶界面或讓Flex隨機選擇一個?無論採用哪種方式,您都可以將選定的IP作爲參數傳遞給您的中間層服務,並在該IP上進行ping操作,而不是使用固定IP。 – Dom

+0

我用來隨機生成IP地址的方式是鏈接本地地址http://en.wikipedia.org/wiki/Link-local_address。用那個Ip,我想創建一個ARP探測消息,然後廣播它。如果沒有人聲稱他使用了該地址,我將使用它作爲我的IP地址,相反,我將嘗試另一個IP。 – nxhoaf