Próbuję napisać aplikację, która wykorzystuje bufory protokołów Google do deserializacji danych (wysyłanych z innej aplikacji przy użyciu buforów protokołu) przez połączenie TCP. Problem polega na tym, że wygląda na to, że bufory protokołów w Pythonie mogą deserializować dane tylko z łańcucha. Ponieważ TCP nie ma dobrze zdefiniowanych granic komunikatów i jedna z wiadomości, które próbuję odebrać, ma powtarzające się pole, nie będę wiedział, ile danych próbować i odbierać przed ostatecznym przekazaniem ciągu do deserializacji.Jak używać Pythona i buforów protokołów Google do deserializacji danych przesyłanych przez TCP
Czy są jakieś dobre praktyki do robienia tego w Pythonie?
+1 za niezwykle szczegółową i wspaniałą odpowiedź. Dziękuję Ci!! – jathanism
Użycie 'struct.pack (" H ", len (dane)) prowadzi do ważnej konsekwencji: dane muszą mieć mniej niż 65536 bajtów. Można zwiększyć maksymalny dozwolony rozmiar danych, używając bez znaku długiego long zamiast "Q" (maksymalny rozmiar = 18000 petabajtów). – Flimm