• Python 网络Socket模块 编程


    一、网络基础相关知识

      1. 网络基础相关的知识

         (1) 架构

          a. C/S 架构: client客户端和server服务器端

          优势:能充分发挥PC机的性能

          b. B/S 架构:Browser浏览器和server服务器

          B/S架构:统一了应用的接口

       (2) 通信的事:

          a. 同一台电脑上两个py程序通信:打开一个文件

          b.两个电脑如何通信:连一个网线

          c.多个电脑通信:

              广播:吼一嗓子

              单薄:一对一

              组播:一对多

            更多个计算机之间通信:交换机+路由器

        (3)说一说路由器和交换机的区别:

          交换机的主要功能是组织局域网,经过交换机内部处理解析信息之后,将信息以点对点,点对多的形式,发送给固定端

          路由器的主要功能:进行跨网段进行数据传输,路由选择最佳路劲

        (4) mac地址:物理地址,全球唯一,类似于一个人的身份证

        (5) ip地址:逻辑地址,四位点分十进制,类似于一个人的的学号

        (6) 端口:操作系统为本机上的应用程序随机分配一个接口(0--65535个端口,0--1023是个自定义端口)

        (7) 网段:一个局域网内ip地址的范围

        (8)   子网掩码:用来计算网段的,子网掩码  &  ip地址

        (9) arp协议:通过目标ip地址获取目标mac地址的一个协议

          (10)  OSI五层模型: 物理层                  光纤,集线器,网线

                  数据链路层           交换机,网卡,网桥             arp协议

                  网络层                  路由器,三层交换机              ip协议

                  传输层                  四层交换机,四层路由器       UDP TCP 协议

                  应用层                                                                 http,https,ftp协议

    二、socket模块

    1.协议

      TCP 协议    面向连接    可靠的   面向字节流形式的

      UDP 协议    无连接的    不可靠   面向数据包形式的

    2.编码流程

    TCP 协议编码流程:

      服务器端:                                       客户端:

      实例化对象                                      实例化对象

      绑定IP地址和端口号

      监听

      接收客户端的连接                            连接服务器

      收发                                                  收发

      关闭                                                   关闭

    3.回环地址:

      回环地址:127.0.0.1  每个计算机都有这么一个本机地址,只能被本机识别,不会被其他机器识别

    4.三次握手和四次断开连接  

    tcp三次握手一定client先发起请求

                 a  客户端发起请求连接服务器

                 b  服务器返回 : 接收到请求,并要求连接客户端

                 c  客户端回复 : 可以连接

           四次挥手:  谁先发起断开连接的请求都可以

                 a  客户端发起断开连接的请求:

                      意思: 我想和你断开连接,我没有数据要继续发送了,但是如果你有数据需要发送,我可以继续接收

                    b  服务器回复 : 我接收到你的请求了

                    c  服务器发送 : 我已经准备好断开连接

                    d  客户端回复 : 收到你的信息,断开连接

    三、粘包问题:只有tcp协议才会发送粘包,udp不会发生

  • 相关阅读:
    【并发编程】并发编程随笔索引
    主题记录
    Java技术栈思维导图
    【ES 6.5.4 】ElasticSearch知识点
    Logstash Oracle同步设置
    【ES】【Reference 7.8 译】官方文档Mapping说明
    【ES】【Java High Level REST Client】官方索引和文档操作指导
    【ES】JAVA集成ES与基本操作及官方查询指导
    【实践】Effective Java实践总结
    【MyBatis】Spring集成MyBatis示例
  • 原文地址:https://www.cnblogs.com/Chamster/p/9477770.html
Copyright © 2020-2023  润新知