Dateien übertragen mittels Socket
-
Wie der Titel schon sagt, möchte ich 2 Programme schrieben die eine Datei mittels ClientSocket und ServerSocket austauschen.
Alles läuft auch soweit (Verbindungsaufbau etc...) nur werden meine Daten unterwegs "gehächselt", und kommen nicht so an wie ich sie versendet habe.
Hat sich jemand schonmal mit diesem Problem beschäftigt? Gibt es irgendwo eine (fertige) Komponente die genau das macht?
-
AntonWert schrieb:
Hat sich jemand schonmal mit diesem Problem beschäftigt?
Nein, der FAQ-Eintrag zur Protokollentwicklung ist rein zufällig enstanden.
-
Falls du mit dem FAQ Hinweis "Protokollentwicklung / Grosse Datenmengen versenden" gemeint hast, hilft mir das nur wenig weiter, denn ein Protokoll besitze ich ja bereits nur hilft das bei ungültigen Daten auch nicht wirklich weiter.
Aber eine Frage zum Verständinis:
- Ja, es kann sein dass Daten die ich als einen Block verschike als 2 Blöcke ankommen?- Nein, es kann nicht sein dass sich die Reihenfolge der Blöcke zufällig ändert?
- Können überhaupt andere Daten in meinen Datenstrom hineinkommen?
-
Können überhaupt andere Daten in meinen Datenstrom hineinkommen?
- Kommt auf deine Programmiertechnik an
Nein, es kann nicht sein dass sich die Reihenfolge der Blöcke zufällig ändert?
???
Ja, es kann sein dass Daten die ich als einen Block verschike als 2 Blöcke ankommen?
???
??? = Hellsehen ohne Code geht heute nicht -> Hellseher kugel wird poliert
-
also bei mir war es manchmal so das aus einem paket 2 wurden. das kann passieren aber jenachdem wie du dein programm schreibst ist das kein problem.
ich hab das so gemacht:
[<parameter>|<paketlaenge>]<Daten><Daten><Daten><Daten><Daten>
dann kam ein paket so an:
[<parameter>|<paketlaenge>]<Daten><Daten>
und später noch der rest:
<Daten><Daten><Daten>
da du die laenge des paketes mitschickst kannst du überprüfen ob der rest der teil ist der fehlt und diese dann wieder zusammen fügen.