您的位置:首页 > 理论基础 > 计算机网络

Java 网络编程中InetAddress类的创建和使用

2016-11-16 00:46 363 查看

java InetAddress类的创建和使用

前阵子学习到一些网络传输的问题,现在总结一下。

说在前面:

1.要实现网络传输,需要考虑的问题有哪些?

1.1如何才能准确的定为网络上的一台主机?

1.2如何才能进行可靠的、高效的数据传输?

2.java如何实现的网络通信

2.1使用IP地址—定位一台主机, 使用端口号—定位一个应用。 满足需求的可以采用——>>InetAddress类

如何创建一个InetAddress的对象?geByName(***);

比如下面的语句:

InetAddress inet = new InetAddress.getByName("127.0.0.1");


>如何获取本机的一个InetAddress对象?可以使用getLocalHost()
>获取域名: getHostName()
>获取ip: getHostAddress
2.2 对应有协议  应用层 传输层 网络层 数据链路
下面会说说对于TCP和UDp协议的基本特点:


TCP协议:

使用TCP协议前,须先建立TCP连接,形成传输数据通道

传输前,采用“三次握手”方式,是可靠的

TCP协议进行通信的两个应用进程:客户端、服务端

在连接中可进行大数据量的传输

传输完毕,需释放已建立的连接,效率低

UDP协议:

将数据、源、目的封装成数据包,不需要建立连接

每个数据报的大小限制在64K内

因无需连接,故是不可靠的

发送数据结束时无需释放资源,速度快

后面会有针对的 TCP编程、UDP编程、URL编程的对应总结。这里就先说到这里吧。

下面附上InetAddress类的创建和使用:

import java.net.InetAddress;

/* 网络通信:第一要素IP找到
* InetAddress:位于java.net的包下
* 1.InetAddress用来代表IP地址,一个InetAddress的对象就代表一个IP地址
* 2.如何创建InetAddress的对象?
* 3.getHostName():获取域名
* 4.getHostAddress():获取ip地址
*/

public class TestInetAddress {
public static void main(String[] args) throws Exception {
//      //InetAddress的对象的创建
//      InetAddress inet = InetAddress.getByName("www.baidu.com");//域名或者ip
//      inet = InetAddress.getByName("");//IP
//      System.out.println(inet);
//      //两个方法
//      System.out.println(inet.getHostName());//域名
//      System.out.println(inet.getHostAddress());//IP

//访问本机ip
InetAddress inet1 = InetAddress.getLocalHost();
System.out.println(inet1);
System.out.println(inet1.getHostName());
System.out.println(inet1.getHostAddress());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: