我正在尝试发送一个带有socket.send
的字典但这个函数需要二进制字符串,我试着这样做:
test = {"key":"value", "key2":"value2"}
test = str(test).encode()
test.send()
服务器只需做:
dict = client.recv(1024)
dict = dict(dict.decode())
但是当我尝试从字符串中获取字典时,我得到了这个错误:
ValueError: dictionary update sequence element #0 has length 1; 2 is required
答案 0 :(得分:0)
首先,您已通过将名称WPM("refresh-cache")
绑定到dict
来隐藏内置dict
类型,您必须不能这样做。
现在,client.recv
构造函数不会将字符串作为参数。您可以改为使用dict()
:
ast.literal_eval