UDP Daten wandeln
-
Hallo Leute,
kann mich mal einer vom Schlauch holen?
Wie kann ich denn aus meinem char-Array lesbare Zeichen machen?hier mein Code zum Lesen:
void __fastcall TForm1::NMUDP1DataReceived(TComponent *Sender, int NumberBytes, AnsiString FromIP, int Port) { Edit1->Text = FromIP; Edit2->Text = NumberBytes; if (NumberBytes<100) { char Buff[100]; int j; NMUDP1->ReadBuffer(Buff, 100, j); for (int i=0;i<j;i++) { Memo1->Lines->Add(String(Buff[i])); } Memo1->Lines->Add("Von IP:" + FromIP + ":" + "Port:" + Port + ":" +"Bytes:" + NumberBytes + ":" + Buff); } else Memo1->Lines->Add("Puffer zu klein"); }
Danke für die Hilfe
Gruß myerscola
-
Hallo
Vermutlich fehlt nur die abschließende 0.
char Buff[101]; // Ein zusätzliches Zeichen, um 100 Zeichen + 0 speichern zu können int j; NMUDP1->ReadBuffer(Buff, 100, j); Buff[NumberBytes] = 0;
Wenn du statt dem statischen Array ein dynamisches Array nimmst, kannst du auch mehr als 100 Zeichen verarbeiten.
bis bald
akari