use recv_json instead of recv_pyobj