练习:
1、什么是C/S架构?
2、互联网协议是什么?分别介绍五层协议中每一层的功能?
3、基于tcp协议通信,为何建立链接需要三次握手,而断开链接却需要四次挥手
4、为何基于tcp协议的通信比基于udp协议的通信更可靠?
5、流式协议指的是什么协议,数据报协议指的是什么协议?
6、什么是socket?简述基于tcp协议的套接字通信流程
7、什么是粘包? socket 中造成粘包的原因是什么? 哪些情况会发生粘包现象?
8、基于socket开发一个聊天程序,实现两端互相发送和接收消息
9、基于tcp socket,开发简单的远程命令执行程序,允许用户执行命令,并返回结果
10、基于tcp协议编写简单FTP程序,实现上传、下载文件功能,并解决粘包问题
11、基于udp协议编写程序,实现功能执行指定的命令,让客户端可以查看服务端的时间
(1)执行指定的命令,让客户端可以与服务的的时间
(2)执行指定的命令,让客户端可以与服务的的时间同步
综合作业:
开发一个支持多用户同时在线的FTP程序
要求:
- 用户加密认证
- 允许同时多用户登录(用到并发编程的知识,选做)
- 每个用户有自己的家目录,且只能访问自己的家目录
- 对用户进行磁盘配额,每个用户的可用空间不同(选做)
- 允许用户在ftp server上随意切换目录
- 允许用户查看当前目录下的文件
- 允许上传和下载文件,并保证文件的一致性
- 文件传输过程中显示进度条
- 附加:支持文件的断点续传(选做)
- 开发的程序需符合PEP8开发规范,及专业的生产软件设计规范,包括目录、代码命名、功能接口等