当前位置 : 主页 > 编程语言 > java >

83 java网络编程_3 _通信协议

来源:互联网 收集:自由互联 发布时间:2022-07-13
83 java网络编程_3 _通信协议 TCP协议 TCP协议: Transmi ssion Control Protocol 传输控制协议 是一种面向连接的、可靠的、基于字节流的传输层通信协议。数据大小无限制。建立连接的过程需要三


83 java网络编程_3 _通信协议

TCP协议

  • TCP协议: Transmi ssion Control Protocol 传输控制协议
  • 是一种面向连接的、可靠的、基于字节流的传输层通信协议。数据大小无限制。建立连接的过程需要三次握手,断开连接的过程需要四次挥手。

UDP协议

  • UDP协议: User Datagram Protocol 用户数据报协议
  • 是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,每个包的大小64KB。(效率高)

IP协议

  • 为 TCPP协议 ,UDP协议提供服务
  • IP协议: Internet Protocol 互联网协议/网际协议
  • 负责数据从一台机器发送到另一台机器。
  • 给互联网每台设备分配一个唯一 标识(IP地址)。
  • IP地址分为两种:
  • IPV4: 4字节32位整数,并分成4段8位的二进制数,每8位之间用圆点隔开,每8位整数可以转换为一个0~255的十进制整数。
    格式: D.D.D.D例如: 255. 255. 255. 255
  • IPV6: 16字节128位整数, 并分成8段十六进制数,每16位之间用圆点隔开,每16位整数可以转换为一个0~65535的十进制数。
格式: X.X.X.X.X.X.X.X 例如: FFFF. FFF. FFF. FFF. FFF. FFFF. FFF. FFFF

IPV4的应用分类

  • A类:政府机构,10.0.1~ 126.255. 255. 254
  • B类:中型企业,128.0.0.1~ 191. 255. 255.254
  • C类:个人用户,192.0.0.1~ 223. 255. 255. 254
  • D类:用于组播,224.0.0.1~ 239. 255.255. 254
  • E类:用于实验,240.0.0.1~ 255. 255. 255. 254
  • 回环地址: 127.0.0.1, 指本机,一般用于测试使用。
  • 测试IP命令: ping D.D.D.D
  • 查看IP命令: ipconfig

port 端口号

  • 端口号:在通信实体上进行网络通讯程序的唯一 标识。(区分哪个程序发的信息)
  • 端口分类:
  • 公认端口:0~ 1023
  • 注册端口:1024~49151
  • 动态或私有端口:49152~ 65535
  • 常用端口:
  • MySql: 3306
  • Oracle:1521
  • Tomcat:8080
  • SMTP: 25
  • Web服务器: 80
  • FTP服务器:21

InetAddress类

  • 概念:表示互联网协议(IP)地址对象,封装了与该IP地址相关的所有信息,并提供获取信息的常用方法。
  • 方法:
  • public static InetAddress getLocalHost() 获得本地主机地址对象
  • public static InetAddress getByName (String host) 根据主机名称获得地址对象
  • public static InetAddress[] getAllByName (String host) 获得所有相关地址对象
  • public String getHostAddress () 获取IP地址字符串
  • public String getHostName() 获得IP地址主机名

代码:

package com.wlw.computer_network;

import java.net.InetAddress;

/**
* InetAddress类的使用
* (1)创建本机IP地址对象
* (2)创建局域网IP地址对象
* (3)创建外网IP地址对象
*/
public class InetAddressDemo {
public static void main(String[] args) throws Exception{
//1.创建本机IP地址对象
//1.1
InetAddress inetAddress = InetAddress.getLocalHost();
System.out.println("IP地址:"+inetAddress.getHostAddress()+",主机名:"+inetAddress.getHostName());
//1.2
InetAddress inetAddress1 = InetAddress.getByName("192.168.1.31");
System.out.println("IP地址:"+inetAddress1.getHostAddress()+",主机名:"+inetAddress1.getHostName());
//1.3
InetAddress inetAddress2 = InetAddress.getByName("127.0.0.1");
System.out.println("IP地址:"+inetAddress2.getHostAddress()+",主机名:"+inetAddress2.getHostName());
//1.4
InetAddress inetAddress3 = InetAddress.getByName("localhost");
System.out.println("IP地址:"+inetAddress3.getHostAddress()+",主机名:"+inetAddress3.getHostName());

//2.创建局域网IP地址对象
// InetAddress inetAddress4 = InetAddress.getByName("192.168.1.33");
// System.out.println("IP地址:"+inetAddress4.getHostAddress()+",主机名:"+inetAddress4.getHostName());
// System.out.println("两秒是否可达:"+inetAddress4.isReachable(2000));

//3.创建外网IP地址对象
InetAddress inetAddress5 = InetAddress.getByName("www.baidu.com");
System.out.println("IP地址:"+inetAddress5.getHostAddress()+",主机名:"+inetAddress5.getHostName());
System.out.println("两秒是否可达:"+inetAddress5.isReachable(2000));
System.out.println("---------------------");
InetAddress[] allByName = InetAddress.getAllByName("www.baidu.com");
for (InetAddress address : allByName) {
System.out.println(address.getHostAddress());
}
}
}

/*
执行结果:
IP地址:192.168.1.31,主机名:PC-20200703OXSP
IP地址:192.168.1.31,主机名:PC-20200703OXSP
IP地址:127.0.0.1,主机名:ieonline.microsoft.com
IP地址:127.0.0.1,主机名:localhost
IP地址:39.156.66.14,主机名:www.baidu.com
两秒是否可达:true
---------------------
39.156.66.14
39.156.66.18

*/


上一篇:86 java反射_2 _反射的常见操作
下一篇:没有了
网友评论