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’,字节)

    打印进度条

  • 相关阅读:
    那些年,我还在学习asp.net(二)
    那些年,我还在学ADO.NET
    那些年,我还在学css
    数据库存储过程游标函数
    数据库视图索引触发器
    那些年,我还在学asp.net(一)
    向SQL2005中导入.dbf文件中的数据
    那些年,我还在学习html
    CMenu遍历
    网站记载
  • 原文地址:https://www.cnblogs.com/heheda123456/p/10264020.html
Copyright © 2011-2022 走看看