Ich nutze eine Software, die Daten über einen Socket streamt. Diese Daten muss ich nun in einer Anwendung lesen, die mit Python (2.6) arbeitet. Leider habe ich kaum Erfahrung mit Python und daher etwas Probleme, die Datenpakete richtig auszulesen. Der streamenden Software lag ein Beispiel-Code zum Empfangen der Daten in C++ bei, und nun versuche ich, das Ganze in Python zu "übersetzen".
Den Socket konnte ich bereits erfolgreich belegen und auch Pakete empfangen, jedoch scheinen diese "gepackt" zu sein und ich empfange nur Kauderwelsch. Ich habe in dem C++ Beispiel eine Unpack Funktion gefunden, jedoch habe ich große Probleme, diese in Python umzusetzen.
Es wäre toll, wenn mir jemand auf die Sprünge helfen könnte, wie man das am besten handeln könnte.
Hier die grundlegenden Ausschnitte der Funktion:
Code: Alles auswählen
void Unpack(char* pData)
{
char *ptr = pData;
printf("Begin Packet\n-------\n");
// message ID
int MessageID = 0;
memcpy(&MessageID, ptr, 2); ptr += 2;
printf("Message ID : %d\n", MessageID);
// size
int nBytes = 0;
memcpy(&nBytes, ptr, 2); ptr += 2;
printf("Byte count : %d\n", nBytes);
// Markerset name
char szName[256];
strcpy_s(szName, ptr);
int nDataBytes = (int) strlen(szName) + 1;
ptr += nDataBytes;
printf("Model Name: %s\n", szName);
...
Vielen Dank schonmal,
Quen