zoukankan      html  css  js  c++  java
  • 面向过程补充 网络编程 #27

    day27网络编程开始,面向过称补充

    1..知识点补充
      1.json知识点扩展.,不支持类型,自定义转化.py

     1 """"""
     2 """
     3 知识点补充:
     4 """
     5 
     6 """
     7 from datetime import datetime,date
     8 # 1.年月日,时分秒
     9 print(datetime.today())   #2019-08-06 15:30:46.306446
    10 # 2.年月日
    11 print(date.today())  #  2019-08-06
    12 """
    13 """
    14 import json
    15 from datetime import datetime,date
    16 res = {'c1':datetime.today(),'c2':date.today()}
    17 print(json.dumps(res))
    18 """
    19 
    20 """
    21 TypeError: Object of type 'datetime' is not JSON serializable
    22 类型错误:“datetime”类型的对象不是可序列化的JSON
    23 """
    24 
    25 """
    26 import json
    27 from datetime import datetime,date
    28 res = {'c1':datetime.today,'c2':date.today()}
    29 print(json.dumps(res))
    30 """
    31 """
    32 TypeError: Object of type 'builtin_function_or_method' is not JSON serializable
    33 类型错误:“builtin_function_or_method”类型的对象不可JSON序列化
    34 """
    35 import json
    36 import time
    37 from datetime import datetime,date
    38 class MyJson(json.JSONEncoder):
    39     def default(self, o):
    40         if isinstance(o,datetime):
    41             return o.strftime('%Y-%m-%d %X')
    42         elif isinstance(o,date):
    43             return o.strftime('%Y-%m-%d ')
    44         elif isinstance(o,time.localtime()):
    45             return o.localtime()
    46 
    47         else:
    48             return super().default(self,o)
    49 # res = {'c1':datetime.today(),'c2':date.today()}
    50 # print(json.dumps(res,cls=MyJson))   # {"c1": "2019-08-06 16:42:36", "c2": "2019-08-06 "}
    51 ret = time.localtime()
    52 print(json.dumps(ret,cls=MyJson))
    1.json知识点扩展

    2.网络编程
      1.软件开发架构

     1 1.软件开发架构
     2     c/s架构(client/server)
     3         c:客户端
     4         s:服务器
     5     b/s架构(browser/server)
     6         b:浏览器
     7         c:服务器
     8        ps:b/s架构本质也是c/s架构
     9    手机端看上去c/s比较火,实际上b/s已经崛起
    10    微信支付宝都在做一件事:统一接口
    11    手机端之后肯定也是b/s比较火
    12 
    13    服务端24小时服务:
    14    服务端什么时候想体验服务就去找心仪的服务器体验
    1.软件开发架构

      2.学习网络编程的目的

    1 学习完网络编程 的目的:
    2     1.就可以开发一个c/s架构的软件
    3     2.(之后学习)并发 数据库 前端 Django 就可以开发一个b/s架构的软件
    2.学习网络编程的目的

      3.网络编程的发展史

     1 1.网络编程的发展史:
     2     任何先进的技术最早都来源于军事
     3 
     4 2.回到过去
     5     1.早期的电话             电话线  要求:1.物理连接介质  2.统一的语言
     6     2.大屁股电脑             网线    要求:1.物理连接介质  2.统一的语言
     7     3.笔记本电脑  无线电话   网卡    要求:1.物理连接介质  2.统一的语言
     8 
     9 3.总结:
    10     计算机与计算机之间要想实现远程通信
    11         1.除了有物理介质
    12         2.还需要一套公共的标准或者协议 --OSI
    3.网络编程的发展史

    3.OSI协议
      1.OSI七层架构

     1 OSI七层协议
     2     应用层
     3     表示层
     4     会话层
     5     传输层
     6     网络层
     7     数据链路层
     8     物理连接层
     9 
    10     应用层,表示层,会话层可精简为应用层,产生  OSI五层结构
    11     辅助记忆:应表会传网数物
    OSI7层架构

      2.OSI简化为五层架构

     1 OSI精简版: 5层
     2         应用层
     3         传输层
     4         网络层
     5         数据链路层
     6         物理连接层
     7 
     8 2.详细:
     9     1.物理连接层
    10         基于电信号传输010101001010二进制数据
    11 
    12     2.数据链路层
    13         1.规定了电信号的分组方式
    14         2.规定了任何一台接入互联网的计算机都必须有一块网卡
    15             网卡特点:
    16                 1.每一块网卡上都刻有独一无二的编号:
    17                 12位-16位进制数
    18                 前6位是厂商编号
    19                 后6位是流水线编号
    20             我们称这为mac地址
    21                 (mac地址:MAC地址(Media Access Control Address),直译为媒体访问控制地址,也称为局域网地址(LAN Address),以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网上设备位置的地址)
    22             ps:以上两点合称以太网协议:
    23 
    24             1.交换机:
    25             2.基于以太网协议通信:
    26                 特点:通信基本靠吼
    27             3.互联网是有N多个局域网彼此之间连接而成的
    28 
    29     3.网络层:
    30         IP协议
    31         规定了只要接入互联网都必须具备一个IP地址:
    32         IP地址特点:点分十进制
    33         IP地址最小:0.0.0.0
    34         IP地址最大:255.255.255.255
    35         ip地址目前有两个版本:IPV4,IPV6(由于IPV4已经不够表示目前存在的计算机,所以IPV6应用而生)
    36 
    37         ip地址是动态分布的
    38 
    39     4.传输层
    40     TCP / UDP 都是基于端口工作的协议
    41     端口(port)
    42 
    43     计算机与计算机之间其实是应用程序与应用程序之间的通信
    44     端口:用来唯一标识一台计算机上的某个应用程序
    45         端口号的范围:0-65535
    46         注意0-1024这些都是操作系统使用的端口号
    47         建议:使用8000以后的端口
    48         Mysql默认端口:3306
    49         Redis默认端口:6379
    50         Django默认端口:8000
    51         flask默认端口:5000
    52 
    53         端口号是动态分配的,
    54         例如:第一次起qq分配的8989
    55         将QQ关闭再次启动端口号可能就变了
    56 
    57         总结:
    58             ip地址,用来唯一标识接入互联网的一台计算机
    59             port端口,用来唯一标识一台计算机上的某个应用程序
    60             ip+port : 唯一标识接入互联网的一台计算机上的某个应用程序
    61 
    62     5.应用层:
    63         域名https(s:安全认证)://www.baidu.com
    64         HTTP协议
    65         FTP协议  Django学
    OSI5层结构

    4.TCP协议
      1.TCP协议

     1 1.TCP协议
     2     流式协议,可靠协议
     3     (TCP可靠的原因:他有反馈机制,发送消息后,对方必须回复确认,才会将内存从数据中清空,否则,在限定的时间内,每隔一段时间会重新发送一次)
     4     基于TCP协议通讯,必需先建立双向通道
     5 
     6     三次握手四次挥手
     7 
     8     三次握手建连接
     9     必需先建立双向通道
    10 
    11     四次挥手断连接
    12     中间两步不能合并
    13 
    14     黑客洪水攻击:
    15     服务器在同一时间接到大量请求
    图示补充
    1 1.TCP协议
    2     流式协议,可靠协议
    3     基于TCP协议通讯,必需先建立双向通道
    4 
    5     三次握手四次挥手
    6 
    7     三次握手建连接
    8 
    9     四次挥手断连接
    1.1.TCP协议

    1.2.三次握手四次挥手



    三次握手建连接



    四次挥手断连接

    
    

      2.案例 星轨.py
    1.网络编程

      1 网络编程:
      2 1.软件开发架构
      3     c/s架构(client/server)
      4         c:客户端
      5         s:服务器
      6     b/s架构(browser/server)
      7         b:浏览器
      8         c:服务器
      9        ps:b/s架构本质也是c/s架构
     10    手机端看上去c/s比较火,实际上b/s已经崛起
     11    微信支付宝都在做一件事:统一接口
     12    手机端之后肯定也是b/s比较火
     13 
     14    服务端24小时服务:
     15    服务端什么时候想体验服务就去找心仪的服务器体验
     16 
     17    学习完网络编程 就可以开发一个c/s架构的软件
     18    并发 数据库 前端 Django 就可以开发一个b/s架构的软件
     19 
     20 2.网络编程的发展史:
     21     任何先进的技术最早都来源于军事
     22 
     23 3.回到过去
     24     1.早期的电话             电话线  要求:1.物理连接介质  2.统一的语言
     25     2.大屁股电脑             网线    要求:1.物理连接介质  2.统一的语言
     26     3.笔记本电脑  无线电话   网卡    要求:1.物理连接介质  2.统一的语言
     27 
     28     计算机与计算机之间要想实现远程通信除了有1.物理介质 还需要2.一套公共的标准或者协议 --OSI
     29 
     30 4.OSI七层协议 - 精简为 五层协议
     31     应用层
     32     表示层
     33     会话层
     34     传输层
     35     网络层
     36     数据链路层
     37     物理连接层
     38 
     39     精简版: 5层
     40         应用层
     41         传输层
     42         网络层
     43         数据链路层
     44         物理连接层
     45     1.物理连接层
     46         基于电信号传输010101001010二进制数据
     47     2.数据链路层
     48         1.规定了电信号的分组方式
     49         2.规定了任何一台接入互联网的计算机都必须有一块网卡
     50             网卡特点:
     51                 1.每一块网卡上都刻有独一无二的编号:
     52                 12位-16位进制数
     53                 前六位是厂商编号
     54                 后六位是流水线编号
     55             我们称这为mac地址
     56             ps:以上两点合称以太网协议:
     57 
     58             1.交换机:
     59             2.基于以太网协议通信:
     60                 特点:通信基本靠吼
     61             3.互联网是有N多个局域网彼此之间连接而成的
     62 
     63     3.网络层:
     64         IP协议
     65         规定了只要接入互联网都必须具备一个IP地址:
     66         IP地址特点:点分十进制
     67         IP地址最小:0.0.0.0
     68         IP地址最大:255.255.255.255
     69         ip地址目前有两个版本:IPV4,IPV6(由于IPV4已经不够表示目前存在的计算机,所以IPV6应用而生)
     70 
     71         ip地址是动态分布的
     72 
     73     4.传输层
     74     TCP / UDP 都是基于端口工作的协议
     75     端口(port)
     76 
     77     计算机与计算机之间其实是应用程序与应用程序之间的通信
     78     端口:用来唯一标识一台计算机上的某个应用程序
     79         端口号的范围:0-65535
     80         注意0-1024这些都是操作系统使用的端口号
     81         建议:使用8000以后的端口
     82         Mysql默认端口:3306
     83         Redis默认端口:6379
     84         Django默认端口:8000
     85         flask默认端口:5000
     86 
     87         端口号是动态分配的,
     88         例如:第一次起qq分配的8989
     89         将QQ关闭再次启动端口号可能就变了
     90 
     91         总结:
     92             ip地址,用来唯一标识接入互联网的一台计算机
     93             port端口,用来唯一标识一台计算机上的某个应用程序
     94             ip+port : 唯一标识接入互联网的一台计算机上的某个应用程序
     95     5.应用层:
     96         域名https(s:安全认证)://www.baidu.com
     97         HTTP协议
     98         FTP协议  Django学
     99 
    100 5.TCP协议
    101     流式协议,可靠协议
    102     基于TCP协议通讯,必需先建立双向通道
    103 
    104     三次握手四次挥手
    105 
    106     三次握手建连接
    107 
    108     四次挥手断连接
    109 
    110 6.星轨.-明星出轨
    网络编程-笔记

    readme

    1 网络编程 2-3
    2 并发编程 4-5
    3 数据库(Mysql) 5d
    4 优酷项目 3
    5 考试 1
    6 前端 7
    7 Django 10
    8 bbs  5
    9 crm 5
    readme
  • 相关阅读:
    DevOps平台中的自动化部署
    GitLab的安装及使用教程
    Nginx配置相关
    Shell常用模块
    PostgreSQL基础
    大数据集群监控工具
    大数据常用组件
    kafka知识
    数据结构可视化(包括红黑树动态演示)
    python 周考1
  • 原文地址:https://www.cnblogs.com/llx--20190411/p/11311242.html
Copyright © 2011-2022 走看看