2012-05-29 52 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