zoukankan      html  css  js  c++  java
  • python 网络编程总结

     (重点)粘包 :  就是因为接收端不知道如何接收数据,造成接收数据的混乱的问题
          只发生在tcp协议上. 因为tcp协议的特点是面向数据流形式的传输
       粘包的发生主要是因为tcp协议有两个机制: 合包机制(nagle算法),拆包机制
     
     subprocess 模块 有一个方法可以执行系统命令 Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
     
     struct 模块  有一个方法可以将21.3E以内的数据,打包成4个长度的bytes
     r = struct.pack('i',num)
     struct.unpack('i',r)
     
      (重点)架构: C/S架构   B/S架构(优点:统一了应用的接口)
     
        多台电脑通信 : 交换机+路由器
     
     mac地址: 物理地址,全球唯一        身份证号
     ip地址 : 虚拟地址,四位点分十进制  学号
     
      (重点)如何判断两台主机是否在同一个局域网?
         ip地址 & 子网掩码  = 网段
     
      (重点)arp协议: 通过目标ip地址,获取目标mac地址
       
     端口:操作系统给予,通过端口号,可以确定某一个应用程序
      (重点)ip+端口:唯一确定某一个主机上的某一个应用程序
        回环地址:127.0.0.1
     
     osi五层模型:
        应用层       py文件,应用
        传输层       tcp/udp协议
        网络层       ip协议
        数据链路层   arp协议,网卡
        物理层       网线,集线器,光纤
       
        (重点)tcp协议:安全,可靠,面向连接,面向数据流形式的传输
        三次握手:
          (面试回答)
       首先,必须先由客户端发起连接的请求
       接下来,服务器接收到请求之后,回复给客户端两个标识,一个syn表示
          服务器接收到请求,一个ack表示服务器在做准备工作,两个标识一起
       回复给客户端
       最后,客户端接收到服务器的回复,客户端准备连接的所有资源,开始进行连接
       发送给服务器一个ack表示客户端的连接准备工作已经完成
       (此时表示客户端和服务器可以相互连接了)
       如果面试官问你,哪句代码体现了三次握手?
         回答: 服务器端的accept,客户端connect
        
        四次挥手:
          (面试回答)
              (1)首先由连接双方任意一方发起断开连接的请求,发起方发送的请求表示
        是我没有数据要继续发送了,可以断开连接了,但是你如果还有数据可以继续向我发送数据.
              (2)接收方回复给发起方,表示接到了发起放的断开请求,开始着手准备断开事宜
        (3)接收方准备完成后,给发起方发送一个标识,表示接受方没有数据继续发送了
           可以断开连接了
           (4)发起方接收到消息后,准备断开连接,回收资源
        如果面试官问你,哪句代码体现了四次挥手?
          回答: close()
     
     (重点)udp协议:快. 不安全,不可靠,不面向连接,面向数据包形式的传输
    (重点)setblocking(True)  阻塞
       setblocking(False) 非阻塞
       settimeout(int)    针对阻塞状态,设置一个延时等待
       gettimeout()       获得延时的时间
     
     
  • 相关阅读:
    LeetCode对撞指针汇总
    167. Two Sum II
    215. Kth Largest Element in an Array
    2018Action Recognition from Skeleton Data via Analogical Generalization over Qualitative Representations
    题解 Educational Codeforces Round 84 (Rated for Div. 2) (CF1327)
    题解 JZPKIL
    题解 八省联考2018 / 九省联考2018
    题解 六省联考2017
    题解 Codeforces Round #621 (Div. 1 + Div. 2) (CF1307)
    题解Codeforces Round #620 (Div. 2)
  • 原文地址:https://www.cnblogs.com/lnrick/p/9342865.html
Copyright © 2011-2022 走看看