moin!!
Ich bin langsam leider total durcheinander gekommen mit dem ganzen netzwerk und Protkollkram und bräuchte hier mal etwas aufklärung
![:)](wcf/images/smilies/smile.png.pagespeed.ce.cw1CRsMB0z.png)
.
Prinzipiell geht es um folgendes: Ich geb bei meinem Socket immer TcP als protokolltyp an. Ich bin mir jetzt aber nicht sciher wie ich das ganze auslese/recive! Denn afaik ist es ja so, dass ein Client->Send(N-Bytes) Aufruf nicht zwangsläufig einen Server->Recive()->N "Aufruf" zufolge hat.
Wie behandle ich jetzt also diese Daten? Im Prinzip muss ich doch die Daten immer in einem Buffer zwischenspeichern. Gleichzeitig muss ich durch irgend eine identfikationsnummer oder sonst einer ID erkennen, was für ein Paket/welche größe mein aktuelles Paket ist/hat. Solange ich also nicht genug Daten für mein Paket empfangen habe versuche ich es weiter und sollte ich je mehr Daten haben als mein Paket groß ist entferne ich mein paket aus dem Buffer und schick es in die "Bearbeitung" durch den Server?
Mein grundlegendes Problem ist (ganz kurz mit "Pseudo"-Code zusammengefasst):
Packet = {Header, Daten, Größe, Typ,...} -> Serialize->ByteArray -> Client.Send -- INTERNET/TCP --> Server.Recive -> ByteArray -> "Re"serialize -> Packet = {Header, Daten, Größe, Typ,...}
Das ganze verwirrt mich mittlerweile doch sehr (vmtl muss ich einfach mal ausschlafen
![^^](wcf/images/smilies/squint.png.pagespeed.ce.vVqemmKAwr.png)
) und wäre nett wenn michd a mal wer aufklären könnte wie ich das anstelle, dass meine geschickten nachrichten auch komplett beim Server/Client ankommen (geht ja in beide Richtungen!)
Pseudo Code wäre btw auch sehr nice, weil ich wie gesagt mittlerweile gar nicht mehr durchblicke
mfg