回顾:
1、两个架构:C/S   B/S(统一了应用的接口)
2、同一个电脑两个py文件通信(文件)
3、两个电脑通信---网线
4、交换机的通信方式:广播、单播、组播
5、arp协议:通过ip地址找到对应的mac地址
6、osi五层模型:
   应用层 :py文件
   传输层 :tcp、udp协议
   网络层 :ip协议
   数据链路层 : 网卡、arp协议
   物理层 : 网线、hub集线器、电信号相关
7、tcp协议特点:安全、面向连接、字节流形式传输
   udp协议特点:快

8、tcp协议的三次握手过程:
    客户端先发:我想请求连接
    服务器发:  同意,我也想连接你
    客户端发:  同意连接

9、tcp协议的四次挥手过程:
    客户端:我想断开连接
    服务器:行
    服务器:我也想和你断开连接
    客户端:行
   
10、路由器:有一个路由表,用来记录网段信息
11、网段怎么得到?
      ip地址 按位与 子网掩码
   
今日内容:
  1、解决一下怎么让服务器可以和多个客户端连接通信
  2、学习udp协议
  3、炫酷技能,可以在pycharm中打印带颜色的信息
  4、时间同步的机制
   
   
知识点:
   1、tcp协议,不允许在同一时间点同时和多个客户端连接通信   
   2、udp协议,允许在同一个时间点同时和多个客户端连接通信
   
作业:
  1、tcp协议和udp协议的不同
 
  2、tcp协议和udp协议的编码流程
    tcp协议:

    1)、创建一个sock对象

    2)、绑定ip和端口

    3)、设置监听

    4)、等待接收连接(阻塞)

    5)、读取虎发送bytes字节流

6)、关闭连接,关闭socket对象

   udp协议:

    1)、创建一个sock对象

    2)、绑定ip和端口

    3)、接收或发送数据

    4)、关闭socket对象

3、完善一下qq聊天:
       1、加入名称
       2、加入颜色 :不要写死,每来一个客户端就要随机给一个颜色;
                     每个客户端的颜色不能出现重复的现象
 
  4、尝试写一个文件上传下载的功能
      上传/下载:client给server传一个文件,保证server获取到的文件名字一致
            文件内容一致
            md5校验文件内容是否一致
            
      上传的时候,需要用户手动输入路径+文件名

大作业:ftp服务器
    1、支持上传下载
    2、可选择目录,可新建文件夹,
    3、有返回上一目录的功能
    4、登录注册
    5、每个用户对应的目录应该是不一样的

python全栈开发day27-网络编程的更多相关文章

  1. Python全栈开发-Day8-Socket网络编程

    本节内容 断言 Socket构建框架 ftp构建框架 Socket粘包 Socket介绍 Socket参数介绍 基本Socket实例 通过Socket实现简单SSH SocketServer 支持多用 ...

  2. Python全栈【Socket网络编程】

    Python全栈[socket网络编程] 本章内容: Socket 基于TCP的套接字 基于UDP的套接字 TCP粘包 SocketServer 模块(ThreadingTCPServer源码剖析) ...

  3. python全栈开发day28-网络编程之粘包、解决粘包,上传和下载的作业

    一.昨日内容回顾 1. tcp和udp编码 2. 自定义mysocket解决编码问题 二.今日内容总结 1.粘包 1)产生粘包原因: (1).接收方不知道消息之间的边界,不知道一次性要取多少字节的数据 ...

  4. python全栈开发-Day7 字符编码总结

    python全栈开发-Day7 字符编码总结 一.字符编码总结 1.什么是字符编码 人类的字符--------->翻译--------->数字 翻译的过程遵循的标准即字符编码(就是一个字符 ...

  5. 学习笔记之Python全栈开发/人工智能公开课_腾讯课堂

    Python全栈开发/人工智能公开课_腾讯课堂 https://ke.qq.com/course/190378 https://github.com/haoran119/ke.qq.com.pytho ...

  6. Python全栈开发相关课程

    Python全栈开发 Python入门 Python安装 Pycharm安装.激活.使用 Python基础 Python语法 Python数据类型 Python进阶 面向对象 网络编程 并发编程 数据 ...

  7. Python 全栈开发【第0篇】:目录

    Python 全栈开发[第0篇]:目录   第一阶段:Python 开发入门 Python 全栈开发[第一篇]:计算机原理&Linux系统入门 Python 全栈开发[第二篇]:Python基 ...

  8. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  9. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

随机推荐

  1. 996ICU与程序猿的个人成长

    目录 规划 学习 专业领域知识 知识广度 第二职业 理财 借势 添砖加瓦 最近一段时间,996ICU在互联网界引发"大地震",从普通员工.行业大佬甚至官媒都进行了发声,大家对这个问 ...

  2. 三、编译第一步 make xxx_defconfig——Makefile.build 脚本

    3.1 上章分析回顾 3.1 上章分析出的参数 3.1.1 变量 MAKECMDGOALS = xxx_defconfig KBUILD_EXTMOD = version_h := include/g ...

  3. C++ 中 #ifndef, #define, #endif 宏定义

    目的:为了保证包含的内容只被程序(include) 和编译了一次.判断预处理器常量是否已被定义. 预编译将所有头文件(#include"XXX.h")用头文件中的内容来替换,头文件 ...

  4. [洛谷P3948]数据结构 题解(差分)

    [洛谷P3948]数据结构 Description 最开始的数组每个元素都是0 给出n,opt ,min,max,mod 在int范围内 A: L ,R ,X 表示把[l,R] 这个区间加上X(数组的 ...

  5. 第14月第11天 linkmap

    1. 4.LinkMap服务的开启方式及文件目录 Xcode->Project->Build Settings-> Search map -> 设置 Write Link Ma ...

  6. Python 成仙之路

    这个部分的所有内容,都是我学习Python过程中的学习笔记. 这个部分的所有内容,都是我学习Python过程中的学习笔记. 这个部分的所有内容,都是我学习Python过程中的学习笔记. 第一部分  p ...

  7. weblogic基本目录介绍,位数查看,启动与发布项目,修改JVM参数,设置项目为默认项目

    这里的基本目录%base%表示安装目录,如我的目录为:E:/weblogic就是%base% 1.weblogic目录介绍 weblogic主要的目录介绍: 1.日志目录: 每个domain(域)都有 ...

  8. TrimLeft TrimRight

    strming.TrimLeft();  //将字符串最前面的空格修整掉.当在没有参数的情况下调用时,TrimLeft删除换行符,空格和tab字符. strming.TrimRight()://消除从 ...

  9. python函数——形参中的:*args和**kwargs

    python函数——形参中的:*args和**kwargs   多个实参,放到一个元组里面,以*开头,可以传多个参数:**是形参中按照关键字传值把多余的传值以字典的方式呈现 *args:(表示的就是将 ...

  10. (DT系列五)Linux kernel 是怎么将 devicetree中的内容生成plateform_device【转】

    转自:https://blog.csdn.net/lichengtongxiazai/article/details/38942033 Linux kernel 是怎么将 devicetree中的内容 ...