ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

解决粘包问题2客户端

2020-01-03 18:02:09  阅读:231  来源: 互联网

标签:data 粘包 headers json client 解决 size recv 客户端


from socket import *
import struct,json
client=socket(AF_INET,SOCK_STREAM)
client.connect(('127.2.2.2',6688))
while True:
    cmd=input('>>:').strip()
    if not cmd:continue
    client.send(cmd.encode('utf-8'))
    headers_size=struct.unpack('i',client.recv(4))[0]
    headers_bytes=client.recv(headers_size)
    headers_json=headers_bytes.decode('utf-8')
    headers_dic=json.loads(headers_json)
    print('>>:',headers_dic)
    total_size=headers_dic['total_size']
    recv_size=0
    data=b''
    while recv_size < total_size:
        recv_data=client.recv(1024)
        data+=recv_data
        recv_size+=len(recv_data)
    print(data.decode('gbk'))
client.close()

标签:data,粘包,headers,json,client,解决,size,recv,客户端
来源: https://www.cnblogs.com/0B0S/p/12146159.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有