Forum: Mikrocontroller und Digitale Elektronik TCP-Empfangsproblem beim PIC32 mit CX32-Compiler


von Peter P. (Gast)


Lesenswert?

Hallo!

Wenn ich mittels TCP gesendete Empfangsdaten einlese:

AnzDatZae = AnzDat;
while(AnzDatZae)
{
    AnzDatZae -= TCPGetArray(MySocket, inBuffer, AnzDat);
}

dann befinden sich in meinem Eingangspuffer zuerst die zuletzt 
gesendeten Daten und nachfolgend die korrekt gelesenen Empfangsdaten. 
Ein- und Ausgangspuffer sind nicht identisch.

Wie und wo kann ich es einstellen, dass ich nur die Empfangsdaten im 
Eingangspuffer habe?

Danke für alle Hinweise.

: Verschoben durch User
von Peter II (Gast)


Lesenswert?

Peter P. schrieb:
> AnzDatZae = AnzDat;
> while(AnzDatZae)
> {
>     AnzDatZae -= TCPGetArray(MySocket, inBuffer, AnzDat);
> }

du überschreibst doch bei jeden Aufruf den inBuffer?


müsste es nicht so in der art sein.

AnzDatZae = 0
while(AnzDatZae < AnzDat )
{
  AnzDatZae += TCPGetArray(MySocket, inBuffer+AnzDatZae, 
AnzDat-AnzDatZae );
}

von Peter P. (Gast)


Lesenswert?

Peter II schrieb:
> du überschreibst doch bei jeden Aufruf den inBuffer?

Danke für die Anmerkung.

Das Einlesen funktioniert damit einwandfrei. Ich habe die korrekten 
Empfangsdaten im Eingangspuffer. Davor werden aber mit dem obigen 
Funktionsaufruf die zuletzt gesendeten Daten geschrieben, was ich gerne 
abgestellt hätte.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.