Hakawamu Geschrieben 13. März 2007 Geschrieben 13. März 2007 Hallöchen! Ich hab in letzter Zeit ein bisschen mit Sockets gearbeitet. Mit Hilfe von Zotteljedis Tipps zur Socket-Programmierung. Im Normalfall werden alle Daten normal übertragen, klappt prima. Nur in einem Außnahmefall geht estwas schief; ich hab mal einen Stress-Test gemacht. Mein Server empfängt einfach nur Daten, schreibt sie in eine Datei. Der Client sendet mit pausen durch zufällige nano-sekunden-sleeps zufallsgenerierte Strings (ohne steuerzeichen die bei der anzeige "datenmüll" produkzieren würden). Viiiiele Strings! Dabei habe ich beobachtet, dass bei dieser starken Belastung Nachrichten doppelt, unvollständig oder garnicht ankommen. OBWOHL ich mit TCP arbeite. Kurz gesagt, es entsteht ein totales Durcheinander. Hat jemand eine Idee was das Problem verursachen könnte? Und wenn ja, auch eine, die mir bei diesem Problem hilft? Man stelle sich vor, man hand ein Multiplayer-Computerspiel welches ständig extrem viele Daten autauschen muss, mit dem anderen Spieler. z.B. Koordinaten und so. Und dann entsteht da so ein Murks! Kann ja nich sein. Bislang habe ich abhilfe geschafft, indem ich für jede Nachricht ein Start- und Endezeichen einfüge und bei Erhalt einer vollständigen Nachricht eine Bestätigung zurücksende. Aber eignetlich sollte das doch schon das TCP für mich machen, oder? Würde mich sehr über Antworten freuen =)
Klotzkopp Geschrieben 13. März 2007 Geschrieben 13. März 2007 Hat jemand eine Idee was das Problem verursachen könnte?Mit hoher Wahrscheinlichkeit dein Code. Zeig doch mal, wie du empfängst.
Hakawamu Geschrieben 13. März 2007 Autor Geschrieben 13. März 2007 das wär allerdings prima :-) ich poste dann morgen mal den empfangsteil. hab die sourcen in der firma.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden