文章目录
网络编程
1. 什么是计算机网络
分布在不同地域的计算机,通过硬件等网络设备使用通信线路 互相连接形成一个网络系统
计算机网络,可以很方便的进行 信息的传递 ,资源的共享
2. 什么是计算机的IP地址
IP地址,是计算机在互联网中的唯一标识,就像人在社会中的身份证号码
本机IP:127.0.0.1 或 localhost
IP地址分类:
IPv4:是一个32位的二进制数,通常被分为4个字节,表示成a.b.c.d的形式,例如192.168.101.123。其中a,b,c,d都是0~255之间的十进制整数,最多可以表示42亿个
IPv6:为了扩大地址空间,拟通过IPv6重新定义地址空间,采用128位地址长度,每16个字节为一组,分成8组十六进制数,表示成ABCD:EF01:2345:6789:ABCD:EF01:2345:6789,解决了网络地址资源数量不够的问题
3. 什么是网络中的 网站的域名
域名可以简单理解为,IP地址的别名,更方便记忆,当输入域名以后,计算机会访问域名解析商,然后得到IP地址,再进行访问
4. 什么是端口号
端口号的范围在0-65535之间
端口号式计算机中程序的标识,用于在一台计算机中区分不同的应用程序
0-1024已经被一些知名的软件和操作系统占用
5. 什么是计算机之间的通信协议
协议:是计算机与计算机之间交流的标准
是对数据的 传输速率、传入接口、步骤控制、出错控制 等等 指定的一套标准,通信双方必须同时遵守,最终完成数据的交换
协议的分类
TCP:传输控制协议(Transmission Control Protocol)。
TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻辑连接,然后再传输数据。它提供了两台计算机之间 可靠,无差错的数据传输
三次握手:
TCP协议中在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠
第一次握手:客户端 向 服务器 发出连接请求,等待服务器确认
第二次握手:服务器 向 客户端 回送一个响应,通知客户端收到了连接请求
第三次握手:客户端 向 服务器 发送确认信息,确认连接
完成三次握手,建立连接以后,客户端与服务器之间就可以开始进行数据传输了。由于这种面向连接的特性,TPCP协议可以保证传输数据的安全,所以应用十分广泛。
UDP:用户数据报协议(User Datagram Protocol)UDP协议是一个面向无连接的协议,传输数据时,不需要建立连接,不管对方端服务是否启动,直接将数据、数据源和目的地都封装再数据包中,直接发送。每个数据包大小限制在64k以内。他是不可靠的协议,因为无连接,所以传输速度快,但是容易丢失数据
网络编程的分类
- B/S:浏览器与服务器程序
- C/S:客户端与服务器程序
TCP协议-OSI网络模型
指的是 从一台计算机软件中,将数据发送到另一台计算机的软件中的过程
七层网络模型:应用层 / 表现层 / 会话层 / 传输层 / 网络层 / 数据链路层 / 物理层
基于TCP的网络编程
客户端与服务端通过Socket进行通信
ServerSocket进行服务器的搭建
Socket搭建客户端
socaket.accept()等待客户端的连接
客户端与服务器之间进行交互
socket.getInputStream和soclet.getOutputStream两个方法,获取输入流和输出流,实现交互
- 先实验客户端与服务器之间的交互
- 实验多线程的服务器交互
输出流,实现交互
- 先实验客户端与服务器之间的交互
- 实验多线程的服务器交互