Commençons par un exemple simple. Un flux de données HTTP est dans le format suivant:Traitement de flux asynchrone en Python
MESSAGE_LENGTH, 2 bytes
MESSAGE_BODY,
REPEAT...
Actuellement, j'utilise urllib2 pour récupérer des données de transmission en continu de processus comme ci-dessous:
length = response.read(2)
while True:
data = response.read(length)
DO DATA PROCESSING
Il fonctionne, mais étant donné que tous les messages sont en taille de 50 -100 octets, la méthode ci-dessus limite la taille de la mémoire tampon à chaque lecture, ce qui peut nuire aux performances.
Est-il possible d'utiliser des threads séparés pour la récupération et le traitement des données?