网络编程-socket开发

时间:2021-02-15 23:57:45

练习: 

  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程序

  要求:

  1. 用户加密认证
  2. 允许同时多用户登录(用到并发编程的知识,选做)
  3. 每个用户有自己的家目录,且只能访问自己的家目录
  4. 对用户进行磁盘配额,每个用户的可用空间不同(选做)
  5. 允许用户在ftp server上随意切换目录
  6. 允许用户查看当前目录下的文件
  7. 允许上传和下载文件,并保证文件的一致性
  8. 文件传输过程中显示进度条
  9. 附加:支持文件的断点续传(选做)
  10. 开发的程序需符合PEP8开发规范,及专业的生产软件设计规范,包括目录、代码命名、功能接口等