java之InetAddress类和InetSocketAddress的使用

一、简介

InetAddress是Java对IP地址的封装,代表互联网协议(IP)地址;

InetAddress对象的获取只能通过静态方法,比如根据主机名获取主机的ip地址封装对象:

InetAddress add=InetAddress.getByName("BOPZKQZ9SSY5ECY");
主机名:BOPZKQZ9SSXXXXX, ip地址:1XX.1XX.2XX.210

InetSocketAddress是SocketAddress的实现子类。

此类实现 IP 套接字地址(IP 地址 + 端口号),不依赖任何协议。
在使用Socket来连接服务器时最简单的方式就是直接使用IP和端口,但Socket类中的connect方法并未提供这种方式,而是使用SocketAddress类来向connect方法传递服务器的IP和端口。
SocketAddress只是个抽象类,它除了有一个默认的构造方法外,其它的方法都是abstract的,因此,我们必须使用SocketAddress的子类来建立SocketAddress对象,也就是唯一的子类InetSocketAddress

二、主要功能方法

InetAddress address = InetAddress.getLocalHost();
System.out.println("主机名:" + address.getHostName() + ", ip地址:"+ address.getHostAddress());
InetAddress add = InetAddress.getByName("BOPZKQZ9SSY5ECY");
System.out.println(add.getHostAddress());

final Socket socket = new Socket();
SocketAddress address = new InetSocketAddress("www.fortify.net", 443);
try {socket.connect(address);
} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();
}// 连接远程主机
Thread reader = new Thread() {@Overridepublic void run() {try {byte[] buffer = new byte[512];InputStream stream = socket.getInputStream();socket.getInputStream().read(buffer);} catch (Exception ex) {}}
};
reader.start();

三 、两者区别

关键就是InetSocketAddress不基于任何协议,一般用于socket 编程 中。
表面看InetSocketAddress多了一个端口号,端口的作用:一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过 1 个IP地址来实现。
那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。

实际上是通过“IP地址+端口号”来区分不同的服务的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/293105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国产知名老牌 PDF 工具正式开源

文 | Travis出品 | OSC开源社区(ID:oschina2013)「PDF 补丁丁」是开发者 wmjordan 所开发的一款适用于 Windows 系统的多功能 PDF 文档工具箱,开发者最早于 2009 年开始了该程序的开发,如今已有十二年历史,…

.net Repeater知识知多少

&#xff08;一&#xff09;.net中使用Repeater绑定数据&#xff0c;并使用repeater循环出的两个值&#xff0c;赋给repeater中的div的value值。详细如下&#xff1a; 前端.net代码&#xff1a; <div class"wytz_xmlb_nr clear"><asp:Repeater ID"RpBi…

Centos Missing Library: QtWebKit.so.4

/*********************************************************************   Centos Missing Library: QtWebKit.so.4* 说明&#xff1a;* 这是测试在Centos上运行烧机程序时遇到的问题&#xff0c;记录一下解决办法。* * 2016-9…

目瞪口呆!137亿年的宇宙演化,竟然如此震撼!简直颠覆想象....

▲ 点击查看1968年圣诞节&#xff0c;阿波罗8号在环月球轨道上拍摄了一张照片。这是地球拥有的第一张自拍。也让人类第一次感受到&#xff0c;原来在广阔无垠的宇宙中&#xff0c;地球不过是一个美丽而又珍贵的孤岛。1990年&#xff0c;旅行者1号完成了所有的观测使命&#xff…

python数字从大到小排列_Python练习题 005:三个数字由大到小排序输出

【Python练习题 005】输入三个整数x,y,z&#xff0c;请把这三个数由小到大输出。 ----------------------------------------------------------------------- 这题想想应该比较容易&#xff1a;无非是先获取3个数字&#xff0c;然后比大小&#xff0c;按顺序输出即可。不过在写…

Android之运行的错误:java.lang.UnsatisfiedLinkError: Couldn‘t find cibloger.so

原因&#xff1a; 因为没有找到相遇的so文件 解决办法&#xff1a; 在eclipse里面的lib文件夹里面的armeabi文件夹加上相应的so文件就可以了

Martin Fowler:数字化时代,远程与本地协同工作孰优孰劣?| IDCF

作者&#xff1a;Martin Fowler译者&#xff1a;冬哥原文&#xff1a;https://martinfowler.com/articles/remote-or-co-located.html远程工作与同地工作之间不是简单的二分法&#xff0c;相反&#xff0c;团队有多种分布模式&#xff0c;每种模式都有不同的权衡和适合的有效技…

android:自己实现能播放网络视频url的播放器

2019独角兽企业重金招聘Python工程师标准>>> android原生自带的播放器一般只能播放本地视频&#xff0c;而没有播放url的功能。不过android系统中有一个VideoView的控件可以实现这一功能。 简单实现如下&#xff1a; public class MyVideoPlay extends Activity i…

Ant 学习

到了新公司&#xff0c;发现公司使用ant 来代码生成。本来学习后写下来。在网上找到一篇教程&#xff0c;实在是非常给力。。。 就把连接记下来吧&#xff1a;http://www.blogjava.net/amigoxie/archive/2007/11/09/159413.html 可以一起学习。转载于:https://www.cnblogs.com/…

iOS调用系统相册、相机 显示中文标题

2019独角兽企业重金招聘Python工程师标准>>> 最终在info.plist设置解决问题 发现在项目的info.plist里面添加Localized resources can be mixed 设置为&#xff1a; YES&#xff08;表示是否允许应用程序获取框架库内语言&#xff09;即可解决这个问题。 转载于:htt…

linux之nl命令

nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号&#xff01;其默认的结果与 cat -n 有点不太一样&#xff0c; nl 可以将行号做比较多的显示设计&#xff0c;包括位数与是否自动补齐 0 等等的功能。 1&#xff0e;命令格式&#xff1a; nl […

使用云原生应用和开源技术的创新攻略

Kubernetes 和云原生应用的增长以及普及是现象级的。根据 IDC 的数据&#xff0c;到2025年&#xff0c;90%以上的新应用程序将是云原生的。许多客户已受益于云原生设计模型&#xff0c;让新一代应用程序更加敏捷、可靠、可扩展&#xff0c;还兼顾了安全。说到服务的开发&#x…

SVM支持向量机原理及核函数

原文链接&#xff1a;SVM支持向量机原理及核函数 转载请注明出处 支持向量机原理 大距离分类算法 1、名词解释&#xff1a; 分割超平面&#xff1a;如下图所示&#xff0c;构造一个分割线把圆形的点和方形的点分开&#xff0c;这个线称为分割超平面。支持向量&#xff1a;…

SQL对Xml字段的操作

转&#xff1a;http://www.cnblogs.com/youring2/archive/2008/11/27/1342288.html T-Sql操作Xml数据 一、前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型。用户可以创建这样的表&#xff0c;它在关系列之外还有一个或多个 XML 类型的列&#xff1b;此外&#xff0c;…

URL 路径长度限制(错误:指定的文件或文件夹名称太长)

本节讨论 URL 的构成、SharePoint 2010 构建 URL 的方式、URL 的编码和加长以及作为其他 URL 中的参数传递的方式。 SharePoint URL 的构成 SharePoint URL 的总长度等于文件夹或文件路径的长度&#xff0c;包括协议和服务器名称和文件夹或文件名称&#xff0c;以及作为 URL 的…

linux之less 命令

less 工具也是对文件或其它输出进行分页显示的工具&#xff0c;应该说是linux正统查看文件内容的工具&#xff0c;功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候&#xff0c;我们并没有办法向前面翻&#xff0c; 只能往后面看&#xff0c;但若使用了 less …

生产物流

前段时间有朋友问我关于“生产过程件入库和盘点”的事情&#xff0c;在《仓库盘点》一文中&#xff0c;我们讲解了“半成品”与“过程件”的概念的区分以及其是否入库和盘点做了说明。最近又有朋友问我关于物流与工艺流的结合应用问题&#xff0c;今天特写了此篇文章供大家参考…

sklearn线性回归详解

图片若未能正常显示&#xff0c;点击下面链接&#xff1a; http://ihoge.cn/2018/Logistic-regression.html 在线性回归中&#xff0c;我们想要建立一个模型&#xff0c;来拟合一个因变量 y 与一个或多个独立自变量(预测变量) x 之间的关系。 给定&#xff1a; 数据集 {(x…