当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:16:00  来源:本站整理

操纵Java来实现域名和IP地址转换的操作[Java编程]

赞助商链接



  本文“操纵Java来实现域名和IP地址转换的操作[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

对我们普通用户而言,形象化的标记要比一捆单调的数字编码要好记得多.比方,我们会很简单地记着字符串“www.oscar.com”,却很难记着206.17.191.12.本文扼要地介绍了Internet命名法则和地址的划分约定,然后介绍了若何操纵Java语言完成标记名(上面的字符串)和IP地址(上面的数字串)之间的转换工作,并给出一个实例,查抄可拜候的远程主机.

Internet命名法则和地址划分约定

在Internet上,标记名(symbolic Name)用来命名主机和网络,比方www.bianceng.cn.这些标记名的“学名”叫做“Domain Name”,即域名.固然域名对我们来说便利得多,但在它们用作通信标识之前,必须转换为IP地址(Internet Protocol Address).IP地址是一个32位的标识符,包含一个网络标识和主机标识,以便唯一地标识主机和网络.域名转换为IP地址的工作是由专门的系统完成,这就是域名系统(Domain Name System??DNS).

同一网络或差别网络主机之间举行数据的发送/接纳时,IP地址就开始起作用了.假如是同一网络中主机之间的数据传送,则仅操纵IP地址中的主机标识,来肯定网络中主机的所在.另一方面,假如是差别网络中主机之间的通信,则要同时操纵主机标识和网络标识来肯定呼应的主机.定位网络和主机,再举行数据传送的历程称为路由(routing).网络中的路由器(router)包含一个IP层(IP Layer),它负责履行路由算法,将数据包发送到目的地.在Internet上,将数据库发送到目的地是IP层份内之事.

IP地址是Internet注册部门??Network Information Center(网络信息中央??NIC)分配给差别的组织,各组织再下放给多个部门.IP地址要占用4个字节.

经过路由的数据包,也有大概会在传送的历程中丧失.于是,人们就操纵底层传输协议,来举行数据传送精确与否的判断.比方,TCP用于查抄错误或数据丧失,并在出错时,再次发送呼应的数据库,直至对方主机精确接纳为止.

目前,总计有3类(或3个级别)的IP地址:A类、B类和C类.别的,还有一类IP地址叫作“Multicast”,在某些Internet主机上利用.这些差别类别的IP地址满意了差别组织的需求.比方,A类地址主要用于主机数目超越65536的大型网络系统;B类地址则用于中型网络系统,其主机数大于255,却小于65536;C类地址则用于那些主机数目小于256的小型网络.

差别类别地址的十进制表示以下,此中的十进制数代表答应的地址范围:

A类

网络ID 主机ID

1~127 0~255 0~255 0~255

B类

网络ID 主机ID

128~191 0~255 0~255 0~255

C类

网络ID 主机ID

191~233 0~255 0~255 0~254

Multicast

191~233 0~255 0~255 0~254

数字0和255还有特别的含义.数字0是为那些地址不明的主机保存的.某些情形下,如错误的系统配置,主机标识或网络标识不明的情形也会发生.比方,某个主机的C类地址为0.0.0.42,则阐明其主机标识为42,而它所处网络的网络标识则是“未知数”0.?

数字255则用于广播发送方法,即一台主机发出的信息会传送到网络中全部的主机上.

得到IP地址

为了得到所在网络的IP地址,大概网络中其他主机的IP地址,我们可以用java.net软件包中的java.net.InetAddress类加以实现.比方,假如我们但愿得到所在网络的IP地址,我们可以调用InetAddress类中的getLocalHost()和getAddress()办法.getLocalHost()返回一个InetAddress对象;而getAddress()则返回一个长度为4的字节数组(IP地址为4个字节).?

假如要编制一个基于网络的利用程序,我们大概需求知道预备运行这个程序的主机的域名或IP地址.假如这个程序只在我们自己的主机上运行,并且我们也知道主机的域名或IP地址,则我们便可以这样举行:定义一个字符串常量便可,如:string localHost=“my-machine-name”.但大多情形下,我们编制

/*
* Program:sample1.java
*/
import java.net.*/;
public class GetName {
public static void main (String argv〔〕) throws Exception {
InetAddress host=null;
host=InetAddress.getLocalHost();
System.out.println(host.getHostName());
}}

的程序将在差别的主机上运行,这样才有实用代价.那么,象上面那样,定义一个localHost常量的办法就不太好用了.我们但愿利用程序可以自动检测得到当前主机的域名.下面的程序阐明了若何完成这一工作.


  以上是“操纵Java来实现域名和IP地址转换的操作[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 操纵javascript得到浏览器中的星号密码
  • 操纵Java运算符
  • 传送和操纵Java对象
  • 操纵Java技术将Atom转换为RDF
  • 操纵java成立躲藏文件
  • <b>操纵Java实现网络传输数据压缩的实例</b>
  • 操纵Java来实现域名和IP地址转换的操作
  • <b>操纵Java实现一个简单的递归算法的实例</b>
  • <b>操纵Java编写网络通信程序</b>
  • 操纵Java Applet播放声音文件
  • 操纵Java语言举行Unicode代理编程
  • 操纵Java3D实现三维图象
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .