tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
268
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Klein0r
    Klein0r Klein0r ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Ort
    Paderborn
    Beiträge
    718
    Hallo zusammen,

    ich bin gerade dabei eine Client/Server-Applikation zu schreiben. Dabei verteile der Server Daten an Clients (Sockets).

    Nun zu meiner Problemschilderung:
    Ich lese mit socket.receive(buffer) per schleife daten in einen Buffer (Byte Array). Diese Daten werden in ein zweites Array umgelagert oder angehängt (je nach Durchlauf). Falls der Buffer komplett voll ist, wird receive nochmal ausgeführt und die gelesenen Daten aneghängt.

    Nun zu dem eigentlichen Problem:
    Die Schleife ist anscheinend schneller als der Socket Daten empfangen kann. Das heißt, dass er aus der Schleife rausspringt (da der Puffert noch nicht wieder voll war.

    Sobald ich ein sleep von 10ms oder eine Konsolenausgabe in der Schleife mache, werden anscheinend genügend Daten für einen weiteren Durchlauf im Socket bereitgestellt. Das halte ich allerdings für eine weniger gute Lösung. Wie kann ich also feststellen ob noch Daten kommen?

    Ein weiteres Problem stellt sich dar, indem es durchaus passieren könnte, dass so viele Daten vorliegen, dass der Puffer genau voll ist - dann würde die Schleife auch erneut ausgeführt aber es kämen keine weiteren Daten (erstmal).

    Wer kennt eine Lösung?!

    lg
     

  2. #2
    Avatar von Klein0r
    Klein0r Klein0r ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Ort
    Paderborn
    Beiträge
    718
    Niemand eine Idee?

    Ich bin in der Sache immernoch nicht weiter gekommen!
    Woran könnte das denn bitte liegen?

    Mittlerweile bin ich auf die Idee gekommen, dass es an den Puffergrößen liegen könnte.
    Wie sollten diese Buffer idealer Weise festgelegt werden

    lg
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 07.12.10, 01:54
  2. DB2 String mit Zeilenumbrüchen in Schleife lesen
    Von Aleyna23 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 03.06.09, 11:57
  3. Schleife über alle Elemente
    Von Looky im Forum XML Technologien
    Antworten: 5
    Letzter Beitrag: 29.12.08, 14:36
  4. [C#] Permanent Daten über Sockets versenden
    Von sebbi1234 im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 16.04.08, 16:59
  5. an alle, die englische Comics lesen
    Von SilentWarrior im Forum Smalltalk
    Antworten: 0
    Letzter Beitrag: 30.12.02, 17:39