Java---网络编程

网络
1.概念

由点和线构成,表示诸多对象间的相互联系

2.计算机网络

为实现资源共享和信息传递,通过通信线路连接起来的若干主机(Host)。
• 互联网:(Internet)点与点相连
• 万维网:(WWW – World Wide Web)端与端相连
• 物联网:( IoT - Internet of things) 物与物相连
• 网络编程:让计算机与计算机之间建立连接、进行通信

网络模型

概念: OSI(Oper System Interconnection)开放式系统互联。
在这里插入图片描述
• 第七层:应用层负责文件访问和管理、可靠运输服务、远程操作服务。(HTTP、FTP、SMTP)
• 第六层:表示层负责定义转换数据格式及加密,允许选择以二进制或ASCII格式传输。
• 第五层:会话层负责使应用建立和维持会话,使通信在失效时继续恢复通信。(断点续传)
• 第四层:传输层负责是否选择差错恢复协议、数据流重用、错误顺序重排。(TCP、UDP)
• 第三层:网络层负责定义了能够标识所有网络节点的逻辑地址。(IP地址)
• 第二层:链路层在物理层上,通过规程或协议(差错控制)来控制传输数据的正确性。(MAC)
• 第一层:物理层为设备之间的数据通信提供传输信号和物理介质。(双绞线、光导纤维)

通信协议
1.TCP/IP模型

**概念:**一组用于实现网络互连的通信协议,将协议分成四个层次
在这里插入图片描述
• 第四层:应用层负责传送各种最终形态的数据,是直接与用户打交道的层,典型协议是HTTP、FTP等
• 第三层:传输层负责传送文本数据,主要协议是TCP、UDP协议
• 第二层:网络层负责分配地址和传送二进制数据,主要协议是IP协议
• 第一层:接口层负责建立电路连接,是整个网络的物理基础,典型的协议包括以太网、ADSL等等

2.TCP/UDP

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

IP与端口
1.IP

IP协议:Internet Protocol Address 互联网协议地址/网际协议地址 • 分配给互联网设备的数字标签(唯一标识)
种类:
(1) • IPV4:
4字节32位整数,并分成4段8位的二进制数,每8位之间用圆点隔开,每8位 整数可以转换为一个0~255的十进制整数。 格式:D.D.D.D 例如:255.255.255.255
(2)• IPV6:
16字节128位整数,并分成8段十六进制数,每16位之间用圆点隔开,每16 位整数可以转换为一个0~65535的十进制数。 格式:X.X.X.X.X.X.X.X 例如:FFFF.FFFF.FFFF.FFFF.FFFF.FFFF.FFFF.FFFF

2.Port

**端口号:**在通信实体上进行网络通讯的程序的唯一标识
端口分类:
(1)公认端口:0~1023
(2)注册端口:1024~49151
(3)常用端口:
常用端口:
(1)MySql:3306
(2)Oracle:1521
(3)Tomcat:8080
(4)SMTP:25
(5)Web服务器:80
(6)FTP服务器:21

网络编程
1.InetAddress类

概念:表示互联网协议(IP)地址对象,封装了与该IP地址相关的所有信息, 并提供获取信息的常用方法

2.基于TCP的网络编程

(1)方法:
public static InetAddress getLocalHost() 获得本地主机地址对象
public static InetAddress getByName(String host) 根据主机名称获得地址对象
public static InetAddress[] getAllByName(String host) 获得所有相关地址对象
public String getHostAddress() 获取IP地址字符串
public String getHostName() 获得IP地址主机名
(2)Socket编程:
Socket(套接字)是网络中的一个通信节点;
分为客户端Socket与服务器ServerSocket
通信要求:IP地址 + 端口号
(3)开发步骤
a.建立通信连接(会话):
创建ServerSocket,指定端口号
调用accept等待客户端接入
b.客户端请求服务器:
创建Socket,指定服务器IP + 端口号
使用输出流,发送请求数据给服务器
使用输入流,接收响应数据到客户端(等待)
c.服务器响应客户端:
使用输入流,接收请求数据到服务器(等待)
使用输出流,发送响应数据给客户端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值