socket - packete
-
Tipp: Setze die Pakete selber wieder zusammen. Dazu schreibst du, jedesmal wenn du etwas verschickst, die Länge des Paketes als ersten Wert über das Netzwerk. Der Empfänger weiß nun wieviel er empfangen soll, und kann dementsprechend oft receive aufrufen, bis die gewünschte Zahl von Bytes empfangen wurde.
Wenn du das TCP Protokoll verwendest, solltest du damit auskommen. Bei UDP musst du noch beachten, dass die Pakete in zufälliger Reihenfolge ankommen können.
-
Benutz doch einfach TCP als Protokoll. Dann hast du ja einen "Stream" zur Verfügung und TCP nimmt dir die ganzen Sorgen ab.
-
Man muss aber ein Protokoll über TCP bauen. Und darum gehts hier wahrscheinlich.
http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1108255660&id=1044780608
-
kingruedi schrieb:
Benutz doch einfach TCP als Protokoll. Dann hast du ja einen "Stream" zur Verfügung und TCP nimmt dir die ganzen Sorgen ab.
Trotzdem zerstückelt dir TCP u.U. die Pakete, die es verschickt. Ich dachte auchmal TCP wäre so ein Rundum-sorglos Protokol..
-
Was hat man denn mit Paketen zu tun? Ich versteh wohl das genaue Problem nicht. Ansonsten einfach längen Angaben mitgeben.
-
danke für die antworten, werd mir die page mal durchlesen - was ich bis jetzt gesehn hab ist glaub ganz gut.
und bei tcp kommen die datenpakete immer in richtiger reihenfolge an?
mfg blan
-
Selbstverständlich.
-
-
was haltet ihr für die bessere methode - mit select oder alles mit threads zu machen (also ein thread der verbindungen akzeptiert und dann für jeden client noch jedesmal ein thread, ...)
mfg blan
-