擅长:python、mysql、java
<p>看起来像这样:</p>
<pre><code>import struct
def recv_full(sock, cnt):
buf = []
while cnt>0:
data = sock.recv(min(10240, cnt))
buf.append(data)
cnt -= len(data)
return ''.join(buf)
def recv_packet(sock):
header, type, length = struct.unpack('>IHH', recv_full(sock, 8))
assert header == 0xf1f2f3f4
return type, recv_full(length - 4)
</code></pre>