Я хочу отправлять / получать данные через сокет.
Я использую python 2.7 из-за ROS (мелодия c), а также python 3.6 из-за тензорного потока.
Данные dict, например {'key_name':[[1,2,3],[4,5,6]]}
, отправляются и кодируются с помощью JSONEncoder.encoder()
.
Клиент получил данные json с loads()
и отправил их на сервер.
Клиент использует python 2.7 и Сервер использует python 3.6
def _send(socket, send_data):
json_data = json.JSONEncoder().encode(send_data)
socket.sendall(json_data)
def _recv(socket):
recv_data = socket.recv(BUFSIZE)
json_data = json.loads(recv_data, encoding="utf-8")
return json_data
У меня ошибка
File "/usr/lib/python3.6/json/deoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 4097 (char 4096)
Мне нужен код python, который работает на python 2.7 и 3.6.