Estoy intentando escribir una aplicación que utiliza búferes de protocolo de Google para deserializar datos (enviados desde otra aplicación utilizando búferes de protocolo) a través de una conexión TCP. El problema es que parece que los búferes de protocolo en Python solo pueden deserializar los datos de una cadena. Dado que TCP no tiene límites de mensajes bien definidos y uno de los mensajes que estoy tratando de recibir tiene un campo repetido, no sabré cuántos datos debo tratar de recibir antes de pasar la cadena a deserializar.Cómo usar Python y los búferes de protocolo de Google para deserializar los datos enviados a través de TCP
¿Hay alguna buena práctica para hacer esto en Python?
+1 para una respuesta increíblemente detallada y sorprendente. ¡¡Gracias!! – jathanism
Usar 'struct.pack (" H ", len (data))' conduce a una consecuencia importante: los datos deben tener menos de 65536 bytes de longitud. Puede aumentar el tamaño máximo permitido de los datos utilizando una longitud larga sin signo en lugar de 'Q' (tamaño máximo = 18000 petabytes). – Flimm