Какой вариант наиболее приемлемый? Какие есть либы для Python, упрощающие эту задачу?
вопрос был скорее о либах, которые инкапсулируют отправку данных, отправляя, например, размер передаваемых данных, перед отправкой самих данных.
sock.sendall("%s%s" % (len(data), data))
В парсинге json проблем не вижу, чтение блокирующие, если не смогли распарсить, читаем ещё символ и пробуем снова. Если ошибка чтения значит канал закрыт.
Ни о чем не говорит?
Че за вопрос?