擅长:python、mysql、java
<p>您可以使用pickle或其更快的版本cPickle来序列化数据和反序列化数据</p>
<pre><code>import pickle
# for serializing data
pickle.dumps(data_to_serialized)
# for deserializing
pickle.loads(data_to_be_deserialized)
</code></pre>
<p>下面是使用pickle发送和接收数据以进行序列化的示例函数:</p>
<pre><code>def send_data(conn, data):
serialized_data = pickle.dumps(data)
conn.sendall(struct.pack('>I', len(serialized_data)))
conn.sendall(serialized_data)
def receive_data(conn):
data_size = struct.unpack('>I', conn.recv(4))[0]
received_payload = b""
reamining_payload_size = data_size
while reamining_payload_size != 0:
received_payload += conn.recv(reamining_payload_size)
reamining_payload_size = data_size - len(received_payload)
data = pickle.loads(received_payload)
return data
</code></pre>
<p>您可以在<a href="https://github.com/vijendra1125/Python-Socket-Programming.git" rel="nofollow noreferrer">https://github.com/vijendra1125/Python-Socket-Programming.git</a>找到示例程序</p>