机械的标识[Java编程]
本文“机械的标识[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
当然,为了辨别来自别处的一台机械,以及为了保证自己衔接的是但愿的那台机械,必须有一种机制能举世无双地标识出网络内的每台机械.早期网络只办理了如安在本地网络环境中为机械供应唯一的名字.但Java面向的是整个因特网,这要求用一种机制对来自世界各地的机械举行标识.为到达这个目的,我们采取了IP(互联网地址)的概念.IP以两种情势存在着:
(1) 大家最熟习的DNS(域名服务)情势.我自己的域名是bruceeckel.com.所以假定我在自己的域内有一台名为Opus的计算机,它的域名便可以是Opus.bruceeckel.com.这恰是大家向其他人发送电子信件时采取的名字,并且普通集成到一个万维网(WWW)地址里.
(2) 此外,亦可采取“四点”格局,亦即由点号(.)脱离的四组数字,比方202.98.32.111.
不管哪类情形,IP地址在内部都表达成一个由32个二进制位(bit)构成的数字(注释①),所以IP地址的每一组数字都不能超越255.操纵由java.net供应的static InetAddress.getByName(),我们可以让一个特定的Java对象表达上述任何一种情势的数字.后果是范例为InetAddress的一个对象,可用它构成一个“套接字”(Socket),大家在背面会面到这一点.
①:这意味着最多只能得到40亿左右的数字组合,全世界的人很快就会把它用光.但按照目前正在研究的新IP编址筹划,它将采取128 bit的数字,这样得到的唯一性IP地址大概在几百年的时间里都不会用完.
作为应用InetAddress.getByName()一个简单的例子,请考虑假定自己有一家拨号衔接因特网服务供应者(ISP),那么会发生什么情形.每次拨号衔接的时刻,城市分配得到一个暂时IP地址.但在衔接期间,那个IP地址拥有与因特网上其他IP地址一样的有效性.假若有人按照你的IP地址衔接你的机械,他们就有大概利用在你机械上运行的Web大概FTP服务器程序.当然这有个前提,对方必须精确地知道你目前分配到的IP.由于每次拨号衔接得到的IP都是随机的,怎样才能精确地掌握你的IP呢?
下面这个程序操纵InetAddress.getByName()来产生你的IP地址.为了让它运行起来,事前必须知道计算机的名字.该程序只在Windows 95中举行了测试,但大家可以顺次进入自己的“开始”、“设置”、“掌握面板”、“网络”,然后进入“标识”卡片.此中,“计算机名称”就是应在号令行输入的内容.
就我自己的情形来说,机械的名字叫作“Colossus”(来自同名片子,“伟人”的意思.我在这台机械上有一个很大的硬盘).所以一旦连通我的ISP,就象下面这样执路程序://: WhoAmI.java // Finds out your network address when you're // connected to the Internet. package c15; import java.net.*; public class WhoAmI { public static void main(String[] args) throws Exception { if(args.length != 1) { System.err.println( "Usage: WhoAmI MachineName"); System.exit(1); } InetAddress a = InetAddress.getByName(args[0]); System.out.println(a); } } ///:~
java whoAmI Colossus
得到的后果象下面这个模样(当然,这个地址大概每次都是差别的):
Colossus/202.98.41.151
假定我把这个地址奉告一位朋友,他便可以当即登录到我的个人Web服务器,只需指定目标地址http://202.98.41.151便可(当然,我此时不能断线).有些时刻,这是向其他人发送信息大概在自己的Web站点正式出台从前举行测试的一种便利手段.
以上是“机械的标识[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:线程的情况
- ·下一篇文章:java网络编程
- ·中查找“机械的标识”更多相关内容
- ·中查找“机械的标识”更多相关内容