Month: December 2015
Join bytes in Python
def run_server(): HOST = '' PORT = 11000 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((HOST, PORT)) s.listen(10) while True: conn, addr = s.accept() print("{0} - ".format(get_counter()) + 'Connection from : {0}'.format(addr)) data_recv=conn.recv(1024) data=bytearray() conn.settimeout(1) while len(data_recv)>0: data.extend(data_recv) try: data_recv=conn.recv(1024) except socket.timeout: break data=str(data) if data=="1": message=get_message1() conn.sendall(message) conn.close()
References :
http://stackoverflow.com/questions/9099145/where-are-python-bytearrays-used
Bytes stream in Python
@staticmethod def from_bin(dataB): reader=io.BytesIO(dataB) length1= reader.read(4) length2=reader.read(4) length3=reader.read(4) macs=reader.read(length1) uid=reader.read(length2) signature=reader.read(length3) reader.close() message=Message(macs,uid,signature) return message
References :
https://docs.python.org/3/library/io.html#io.BytesIO http://chimera.labs.oreilly.com/books/1230000000393/ch05.html#_solution_78
https://docs.python.org/2/library/io.html
Serialize memory objects to binary in Python
try: import cPickle as pickle except: import pickle import pprint data1 = [ { 'a':'A', 'b':2, 'c':3.0 } ] print 'BEFORE:', pprint.pprint(data1) data1_string = pickle.dumps(data1) data2 = pickle.loads(data1_string) print 'AFTER:', pprint.pprint(data2) print 'SAME?:', (data1 is data2) print 'EQUAL?:', (data1 == data2)
References:
https://docs.python.org/3/library/pickle.html
https://docs.python.org/2/library/pickle.html
https://pymotw.com/2/pickle/