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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.