首页 > 解决方案 > Python Networking Using Pickle -- 如何处理发送的不完整数据?

问题描述

def ReadData(self):
        data = ''
        try:
            data = self.c.recv(12000)
        except socket.error as e:
            print(e)
        try:
            result = pickle.loads(data)
            return result
        except error as e:
            print(e)
def SendData(self, addr, data):
        sData = pickle.dumps(data)
        addr.sendall(sData)

目前正在使用上面的代码,发送和读取数据非常简单(服务器中的SendData,客户端中的readdata);但是,我遇到了数据不完整的问题(我假设)并且它正在通过网络发送特定错误是无效的 unpickle key '\x14' (我在两个系统上使用完全相同版本的 Python 所以它与此无关)或类似的东西,我只能假设是发送不完整数据的结果。我不确定这样做的正确方法;也许使用一些分隔符并检查

标签: pythonnetworkingpickle

解决方案


推荐阅读