每次发送的消息时,都将消息划分为 头部(固定字节长度) 和 数据 两部分。例如:头部,用4个字节表示后面数据的长度。

    • 发送数据,先发送数据的长度,再发送数据(或拼接起来再发送)。
    • 接收数据,先读4个字节就可以知道自己这个数据包中的数据长度,再根据长度读取到数据。

    对于头部需要一个数字并固定为4个字节,这个功能可以借助python的struct包来实现:

    1. import struct
    2. # ########### 数值转换为固定4个字节,四个字节的范围 -2147483648 <= number <= 2147483647 ###########
    3. v1 = struct.pack('i', 199)
    4. print(v1) # b'\xc7\x00\x00\x00'
    5. for item in v1:
    6. print(item, bin(item))
    7. # ########### 4个字节转换为数字 ###########
    8. v2 = struct.unpack('i', v1) # v1= b'\xc7\x00\x00\x00'
    9. print(v2) # (199,)

    JSS~SH7D}AUCG@{VK4$75MD.png