网络编程
网络概念:
由点和线构成,表示诸多对象间的相互联系。
计算机网络:
为实现资源共享和信息传递,通过通信线路连接起来若干主机(Host)。
互联网:
(Internet)点与点相连。
万维网:
(WWW-World Wide Web)端与端相连。
物联网:
(IoT-Internet of things)物与物相连。
网络编程:
让计算机与计算机之间建立连接、进行通信。
网络模型:
OSI(Oper System Interconnection)开放式系统互连。
一组用于实现网络互连得通信协议,将协议分成四个层次。
TCP协议:
Transmission Control Protocol传输控制协议。
I、是一种面向连接的可靠地、基于字节流的传输层通信协议。数据大小无线制。建立连接的过程需要三次握手,断开连接的过程需要四次挥手。
UDP协议:
User Datagram Protocol 用户数据报协议。
I、是一种无连接的传输协议,提供面向事务的简单不可靠信息传送服务,每个包的大小64KB。
IP
IP协议:
Internet Protocol Address 互联网协议地址/网际协议地址。
I、分配给互联网设备的数字标签(唯一标识)。
**IP地址分为两种:**
I、IPV4: 4字节32位整数,并分成4段8位的二进制数,每8位之间用圆点隔开,每8位整数可以转换为一个0~255的十进制整数。
格式:D.D.D.D 例如:255.255.255.255
II、IPV6:16字节128位整数,并分成8段十六进制数,每16位之间用圆点隔开,每16位整数可以转换为一个0~65535的十进制数。
格式:X.X.X.X.X.X.X.X
例如:FFFF.FFFF.FFFF.FFFF.FFFF.FFFF.FFFF.FFFF
**IPV4的应用分类:**
A类:政府机构,1.0.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命令:ipconfig
测试Ip命令:ping D.D.D.D
**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地址主机名
**基于TCP的网络编程**
Socket编程
I、Socket(套接字)是网络中的一个通信节点。
II、分为客户端Socket与服务器ServerSocket。
III、通信要求:IP地址+端口号。
**开发步骤:**
建立通信连接(会话):
I、创建ServerSocket,制定端口号。
II、调用accept等待客户端接入。
客户端请求服务器:
I、创建Socket,制定服务器IP+端口号。
II、使用输出流,发送请求数据给服务器
III、使用输入流,接收响应数据到客户端(等待)。
服务器响应客户端:
I、使用输入流,接收请求数据到服务器(等待)。
II、使用输出流,发送响应数据给客户端。