TCP-Empfangsproblem beim PIC32 mit CX32-Compiler

Gast #3211106
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.
Gast #3211127
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 );
}
Gast #3211136
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren