其实你可以试试这样,并不需要编程!
因为你需要一个ip上网,那就是你现在没有一个空闲ip,既然你连一个空闲的ip都没有,还可以在网络上执行上面的程序吗?我表示怀疑。
你应该设置你的机器自动选取ip,然后看你的ip是多少?那就是你的ip了!假如没有空闲ip了,你也分不到。至于要怎么看,你可以在命令行中ipconfig就行了。
因为你需要一个ip上网,那就是你现在没有一个空闲ip,既然你连一个空闲的ip都没有,还可以在网络上执行上面的程序吗?我表示怀疑。
你应该设置你的机器自动选取ip,然后看你的ip是多少?那就是你的ip了!假如没有空闲ip了,你也分不到。至于要怎么看,你可以在命令行中ipconfig就行了。
让它加载某个固定的IP
每次都这样就行了。
具体的命令我忘了
你可以查看WIN2000 的帮助,
有这方面的东东!
因为, ping 基本上和 ip 层位于同一层,这时还没有端口的概念呢!
to nbm0(www.西伯利亚.com.cn) :"我建议使用process p = java.lang.Runtime.exec("ping 211...."),然后分析输出的结果"你说的这种方法我实现了,确实可以。
to hesi726(hesi) :"不过你的代码没有错啊!看来,如楼上所说,你没有被分配到 IP 地址哦!"我的机器已经分到了ip,要不然就不能发这篇贴子了^-^,可是运行程序,dgSocket.receive (datagram1);却总是收不到echo包
1) while( (line = br.readLine())!=null)
{
if(line.equals("Request timed out."))
j++;
}
2)while((line=br.readLine()).equals("Request timed out."))
{
j++;
}
这两段程序有什么区别呢?
我用上一段程序就是对的,如果替换成第二段,程序也能编译通过,可是就是没有运行结果,郁闷~
我在第二段while循环中加了一句打印代码System.out.println("test");也根本执行不到
ping 是 icmp echo,不是 tcp echo,没有端口信息。端口是在 tcp 报头中说明的,而地址是在 ip 报头中说明。(前一阵看 RFC 文档的,呵呵)