import json def sock_send_length(sock, data): ''' 在发送数据之前,先发送数据的长度。 ''' assert type(data) == bytes sock.send(json.dumps({ 'type': 'length', 'length': len(data), }).encode()) assert sock.recv(1024).decode() == 'continue' sock.send(data) def sock_recv_length(sock): ''' 如果收到的数据包类型为 length,则再次接收一个指定长度的数据包并返回。 否则直接返回该数据包。 ''' data = json.loads(sock.recv(1024).decode()) if 'type' in data and data['type'] == 'length': sock.send(('continue').encode()) return json.loads(sock.recv(int(data['length'])).decode()) return data
墨之科技,版权所有 © Copyright 2017-2027
湘ICP备14012786号 邮箱:ai@inksci.com