`
seara
  • 浏览: 646548 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java网络编程从入门到精通(8):用getAddress方法获得IP地址

阅读更多

本文为原创,如需转载,请注明作者和出处,谢谢!

上一篇:Java网络编程从入门到精通(7):用getHostAddress方法获得IP地址

getAddress方法和getHostAddress类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte数组形式的IP地址。getAddress方法的定义如下:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicbyte[]getAddress()
这个方法返回的byte数组是有符号的。在Javabyte类型的取值范围是-128127。如果返回的IP地址的某个字节是大于127的整数,在byte数组中就是负数。由于Java中没有无符号byte类型,因此,要想显示正常的IP地址,必须使用intlong类型。下面代码演示了如何利用getAddress返回IP地址,以及如何将IP地址转换成正整数形式。
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->package mynet;

importjava.net.*;

publicclass MyIP
{
publicstaticvoidmain(String[]args)throwsException
{
InetAddressaddress
=InetAddress.getByName("www.csdn.net");
byteip[]=address.getAddress();
for(byteipSegment:ip)
System.out.print(ipSegment
+"");
System.out.println(
"");
for(byteipSegment:ip)
{
intnewIPSegment=(ipSegment<0)?256+ipSegment:ipSegment;
System.out.print(newIPSegment
+"");
}
}
}

运行结果:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->-4510026122
21110026122

从上面的运行结果可以看出,第一行输出了未转换的IP地址,由于www.csdn.netIP地址的第一个字节大于127,因此,输出了一个负数。而第二行由于将IP地址的每一个字节转换成了int类型,因此,输出了正常的IP地址。

下一篇:
Java网络编程从入门到精通(9):使用isXxx方法判断地址类型



国内最棒的Google Android技术社区(eoeandroid),欢迎访问!

《银河系列原创教程》发布

《Java Web开发速学宝典》出版,欢迎定购

分享到:
评论

相关推荐

    JAVA网络编程从入门到精通

    ### JAVA网络编程从入门到精通知识点详解 #### 一、Internet地址概述 互联网中的每一台设备都需要有一个唯一的标识符——IP地址。当前广泛使用的IPv4地址由四个字节组成,而未来的趋势是采用16个字节的IPv6地址。 ...

    Java网络编程.pdf

    ### Java网络编程精要 #### Internet地址概述与分类 ...以上是对Java网络编程中一些核心知识点的概括,涵盖了从IP地址管理、套接字通信到非阻塞I/O模型的各个方面,为深入理解和应用Java网络编程技术奠定了基础。

    java网络编程(jsp编程)

    Java网络编程是开发基于Java的应用程序进行网络通信的关键技术,主要涉及TCP/IP协议栈、UDP协议以及Socket编程。本文将详细介绍这些概念,并提供一个简单的Java UDP编程实例。 首先,了解TCP/IP网络程序的基础知识...

    java 获取计算机名与IP地址

    在Java编程语言中,获取计算机名和IP地址是常见的网络编程任务。这主要涉及到Java的`java.net`包,该包提供了多种类和接口来处理网络相关的操作。下面将详细介绍如何使用Java获取计算机名和IP地址。 首先,我们来看...

    java ip地址解析省市区运营商

    在Java编程中,IP地址解析通常涉及到网络通信和地理定位技术。这个场景中,我们主要关注如何使用Java来获取一个IP地址对应的省市区以及运营商信息。以下是一些关键知识点: 1. **IP地址类型**: - IPv4:最常见的...

    Java网络编程

    ### Java网络编程精要 #### 一、Internet地址概述 ...综上所述,Java网络编程涵盖了从基础的IP地址处理到高级的非阻塞I/O技术,涉及的知识点丰富且复杂。掌握这些技术,可以构建高性能、高可靠性的网络应用程序。

    java ip 地址分析

    在Java编程语言中,处理和分析IP地址是一项常见的任务,特别是在网络编程和数据分析领域。IP地址(Internet Protocol address)是互联网上设备的唯一标识符,通常以点分十进制的形式表示,例如“192.168.1.1”。在...

    java 获取客户端ip mac地址

    以上代码首先获取当前的`FacesContext`实例,然后从中得到`HttpServletRequest`对象,并调用其`getRemoteAddr()`方法获取客户端的IP地址。 需要注意的是,`getRemoteAddr()`方法返回的是客户端的IP地址,如果客户端...

    java基础之网络编程讲解,适合初级人员入门学习

    ### Java基础之网络编程讲解——适合初级人员入门学习 #### 一、网络编程概述 Java 网络编程是 Java 开发中一个重要的分支,它允许开发者创建可以在网络上进行通信的应用程序。对于初学者来说,理解网络编程的基本...

    JAVA进行UDP编程

    2. **获取数据**:通过getData()获取数据,getLength()获取数据长度,getPort()获取目标端口,getAddress()获取目标IP地址。 **四、UDP编程步骤** 1. 创建DatagramSocket实例,指定服务器端监听的端口。 2. 准备...

    使用IP地址控件显示和设置IP地址

    本示例聚焦于如何在MFC应用中使用IP地址控件来显示和设置IP地址,这对于网络编程尤其重要,因为它允许用户直观地输入和查看网络设备的IP配置。 IP地址控件(CIPAddressCtrl)是Windows API提供的一种特殊控件,用于...

    Java网络编程UDP

    Java网络编程中的UDP(User Datagram Protocol)是一种无连接的、不可靠的传输协议,它相比TCP(Transmission Control Protocol)在速度上更快,因为不需要建立和维护连接,也不保证数据包的顺序和可靠性。...

    java IP库实现

    在Java编程环境中,实现IP库通常涉及到网络编程和数据处理,这主要为了处理与IP地址相关的各种任务,如IP解析、IP地理位置定位、IP到主机名的映射等。在这个场景下,`java IP库实现`可能是一个自定义的Java库,用于...

    《java基础入门》第三版 第十三章作业.doc

    在《java基础入门》第三版的第十三章作业中,主要涉及了Java的Socket编程和相关的网络协议知识。 1. **ServerSocket类**:在Java中,`ServerSocket`类用于创建服务器端的套接字,监听客户端的连接请求。用于接收...

    计算机网络课程设计报告-UDP编程.docx

    例如,你可以使用`getByName`解析主机名得到IP地址,或者用`getLocalHost`获取本地主机的IP地址。`getHostName`和`getHostAddress`方法分别用于获取主机名和IP地址的字符串形式。 ### 三、详细设计 UDP编程的基本...

    IP地址输入控件的用法

    其中,`CIPAddressCtrl`是专门用于处理IP地址输入的控件,它允许用户以标准的IPv4格式(四组0到255之间的数字,每组之间用点分隔)输入或查看IP地址。本实例将深入探讨`CIPAddressCtrl`的使用方法,以及如何在MFC...

    Snmp4j 编程入门.doc

    SNMP4J 编程入门 SNMP4J 是一个 Java 库,用于实现 SNMP(Simple Network Management Protocol)协议。SNMP 是一个标准的网络管理协议,用于管理和监控网络设备。在 SNMP4J 中,有三个核心概念:Snmp、Target 和 ...

    基于UDP的网络编程2

    在IT行业中,网络编程是构建分布式系统和网络应用的基础,而UDP(User Datagram Protocol)作为传输层协议之一,因其无连接、不可靠但高效的特点,常用于实时数据传输,如在线游戏、视频会议等场景。本节我们将深入...

Global site tag (gtag.js) - Google Analytics