Java网络编程
基础知识
什么是网络编程?
在网络通信协议下,不同计算机上运行的程序,进行的数据传输。
●应用场景:即时通信、网游对战、金融证券、国际贸易、邮件、等等。不管是什么场景,都是计算机跟计算机之间通过网络进行数据传输。
● Java中可以使用java.net包下的技术轻松开发出常见的网络应用程序。
1.什么网络编程?
计算机跟计算机之间通过网络进行数据传输。
2.常见软件架构有哪些?CS/BS
3.通信的软件架构CS\BS的各有什么区别和优缺点
CS:客户端服务端模式需要开发客户端
BS:浏览器服务端模式不需要开发客户端。
CS:适合定制专业化的办公类软件如:IDEA、网游
BS:适合移动互联网应用,可以在任何地方随时访问的系统。
网络编程三要素
- IP地址设备在网络中的地址,是唯一的标识
- 端口号应用程序在设备中唯一的标识
- 协议数据在网络中传输的规则,常见的协议有UDP、TCP、http、https、ftp等
IP
IP全称:Internet Protocol,是互联网协议地址,也称IP地址。是分配给上网设备的数字标签。可以通俗的理解为上网设备在网络中的地址,是唯一的。目前在用的IP分类为IPv4、IPv6。
IPv4
全称:Internet Protocol version 4,互联网通信协议第四版。采用32位地址长度,分成4组。IPv4总共有42亿多个地址,在当今世界万物接入互联网的背景下已经不够用了,并且IPv4地址已经在2019年已经分配完毕。
IPv6
全称:Internet Protocol version 6,互联网通信协议第六版。由于互联网的蓬勃发展,IP地址的需求量愈来愈大,而IPv4的模式下IP的总数是有限的。采用128位地址长度,分成8组。
IPv6使用“冒分十六进制表示法”。
1.Ip的作用
设备在网络中的地址,是唯一的标识
2.IPv4有什么特点
目前的主流方案
最多只有2^32次方个ip,目前已经用完了
3.IPv6有什么特点
为了解决IPv4不够用而出现的最多有2^128次方个ip可以为地球上的每一粒沙子都设定ip
IPv4的地址分类形式
公网地址(万维网使用)和私有地址(局域网使用)。
192.168.开头的就是私有址址(C类内部寻址地址),范围即为192.168.0.0--192.168.255.255,专门为组织机构内部使用,以此节省IP。此外还有A类(10.0.0.0-10.255.255.255)和B类(172.16.0.0-172.31.255.255)。
特殊IP地址(回环地址)
127.0.0.1,也可以是localhost,是回送地址也称本地回环地址,也称本机IP,永远只会寻找当前所在本机。
常用CMD命令
ipconfig:查看本机IP地址
ping:检查网络是否连通
Java中的InetAddress类
此类表示互联网协议(IP)的地址。此类没有公开的构造方法,可以通过该类的静态方法getByName(String host)获取对象。
端口号
应用程序在设备中唯一的标识。
端口号:由两个字节表示的整数,取值范围:0~65535。其中0~1023之间的端口号用于一些知名的网络服务或者应用。我们自己使用1024以上的端口号就可以了。注意:一个端口号只能被一个应用程序使用。
协议
计算机网络中,连接和通信的规则被称为网络通信协议
OSI参考模型:世界互联协议标准,全球通信规范,单模型过于理想化,未能在因特网上进行广泛推广。
TCP/IP参考模型(或TCP/IP协议):事实上的国际标准。
UDP协议
●用户数据报协议(User Datagram Protocol)
●UDP是面向无连接通信协议。速度快,有大小限制一次最多发送64K,数据不安全,易丢失数据
TCP协议
●传输控制协议TCP(Transmission Control Protocol)
●TCP协议是面向连接的通信协议。
速度慢,没有大小限制,数据安全。