Je reçois une structure sur un réseau d'un serveur C vers mon client Python. Le protocole est UDP. Je n'ai aucun contrôle sur le serveur et ses protocoles/formats de données. Il se compose de ce struct (oui, un IPv4 + port):Désérialisation des données C
struct ip_s {
uint8_t i1;
uint8_t i2;
uint8_t i3;
uint8_t i4;
uint16_t port; // big endian
};
En dehors du port qui est converti en big-endian les données sont envoyées "en l'état", à un (char*)
casted. Comment puis-je recevoir cette structure dans un format qui peut être traité par Python?
information Divers:
- Python 2.7 ou 3.x
- multi-plateforme
- solution De préférence, en utilisant uniquement des modules intégrés
Ouais déjà trouvé juste après avoir demandé, mais je vais laisser la question ici pour référence ultérieure. – orlp
Oh, et '" BBBBH "' aurait dû être ""! BBBBH "' pour le port big-endian. – orlp
J'ai pris la liberté de modifier votre réponse. – orlp