1.软件结构从大的角度上来讲,分为哪两类?
(1)C(Client)/S(Server) 客户端和服务端结构
(2)B(Browser)/S(Server) 浏览器和服务器结构
2.TCP/IP协议分为几层,我们今天写的是哪一层的逻辑?
(1)分为五层结构:
1、应用层
2、传输层 今天学习的是该层的TCP协议
3、网络层
4、数据链路层
5、物理层
3.TCP和UDP协议的区别?
(1)UDP 协议 是面向无连接的通信协议,常用于音频、视频、聊天的数据传输
优点: 传输消耗资源小,通信效率高,速度快
缺点: 但是面向无连接不能保证数据完整性(会丢包)
特点: 64kb限制,超出不传输
(2)TCP 协议 是面向连接的通信协议,常用于文件下载
优点: 传输数据前会进行交互,即三次握手,保证了数据的安全
4.什么是三次握手?
(1)客户端向服务器发送连接请求,等待服务器确认;
(2)服务器确认完毕,告知客户端可以连接
(3)客户端再次发送连接请求,确认连接
5.网络编程三要素都是什么?
(1)协议: 计算器网络通信必须准守的规则
(2)IP地址: 唯一标识计算机在网络上的编号
IPv4: (a,b,c,d) 范围 0 ~ 255
IPv6: 128位地址长度,每十六字节一组,分8组十六进制
(3)端口: 标识内存运行的进程中的应用程序的编号,一旦对应端口号被使用,会导致程序启动失败
6.请描述一次文件上传的流程?
首先有个服务器跟端口号,客户端对应服务器端口号,先开启服务器,再开启客户端
(1)获取本地硬盘中的一个文件 FileInputStream 类
(2)调用read() 方法读取文件(可以用数组进行循环读取)
(3)客户端获取网络输出流向服务器发送文件
(4)服务器获取一个网络输入流进行接收(数组循环接收,同时刷新) |