zoukankan      html  css  js  c++  java
  • 黏包

    传输层: 端口号

    Tcp协议:面向连接,数据可靠,传输效率低,面向字节流

    Udp协议:面向无连接,数据不可靠,传输效率高,面向报文

    Tcpudp协议下的socket

    Tcp长连接的一些问题

    缓冲区:  将程序和网络解耦

    输入缓冲区

    输出缓冲区

    Import Subprocess

        sub_obj = subprocess.Popen(

            ‘dir’,

            shell=True,

            stdout=subprocess.PIPE,  #正确结果的存放位置

            stderr=subprocess.PIPE   #错误结果的存放位置

        )

    两种黏包现象:

    1 连续的小包可能会被优化算法给组合到一起进行发送

    2 第一次如果发送的数据大小2000B接收端一次性接受大小为1024,这就导致剩下的内容会被下一次recv接收到,导致结果错乱

    方案一:由于双方不知道对方发送数据的长度,导致接收的时候,可能接收不全,或者多接收另外一次发送的信息内容,所以在发送真实数据之前,要先发送数据的长度,接收端根据长度来接收后面的真实数据,但是双方有一个交互确认的过程

    方案二:

    Struct模块,

    打包:struct.pack(‘i’,长度)

    解包:struct.unpack(‘i’,字节)

    打印进度条

  • 相关阅读:
    【转载】Linux的进程间通信-信号量
    【转载】高性能数据库连接池的内幕
    【转载】我是一块硬盘(下)
    【转载】我是一块硬盘(上)
    69. Sqrt(x)
    68. Text Justification
    67. Add Binary
    66. Plus One
    65. Valid Number
    64. Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/heheda123456/p/10264020.html
Copyright © 2011-2022 走看看