tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
627
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Apr 2004
    Beiträge
    573
    Blog-Einträge
    1
    Hi,

    ich bin gerade dabei nen Socketserver in Java zu schreiben, er tut auch schon ziemlich gut bisher, inklusive User und Raumverwaltung. Nun sollen einige Werte an den Server geschickt werden, zB Koordinaten.
    Es wäre arg verschwenderisch wenn ich den String einfach UTF-codiert rüberschicke, das kostet mich pro Zeichen nämlich 16 bit. In 16 bit bekomme ich jedoch bereits alle Koordinaten die ich brauche unter.
    Jetzt ist meine Frage:
    Die Daten werden ja meist bis zu einem Nullbyte oder so gesendet. Wenn ich das nun richtig verstehe kommen also 00000000 bit an, und der Server glaubt die Übertragung sei fertig. Was passiert nun wenn meine Koordinate zb 0 ist und dann auch so eine kette an 0bits ruaskommt?
    Wird dann die Verbindung unterbrochen oder verwechsle ich da was?

    Marius
     

  2. #2
    Avatar von webmanie
    webmanie webmanie ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    50
    Hallo,
    nur mal ein Vorschlag, du könntest doch die Anzahl der Bytes ermitteln bevor Du sendest und diese in einem Header Frame mitschicken.

    D.h.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    byte[] data = new byte[11];
     
    //Header info
    data[0] = 0x000A;  
    // Byte 1 ... n Koordinaten oder what ever
    data[1] = 0x0001;  
    ...
    data[9] = 0x000A;  
     
    [B]// Und nun die Daten senden, Sender und Empfänger müssen 
    //das Header Byte //kennen und auswerten können[/B]

    Das Beispiel ist erweiterbar das heist Du kannst im Header auch mehr definieren d.h. du könntest im ersten Nippel die Koordinaten und im zweiten Nippel z.B. eine Kategorie definieren.

    P.S. Ein Null byte ist in der Regel ein \0 bzw. \n kein einfaches 0.

    Hoffe das Hilft!
    Geändert von webmanie (04.08.09 um 23:06 Uhr) Grund: Nachtrag
     
    webmanie - Es stellt sich ein Stimmungshoch ein sobald man online ist, meist ohne Nebenwirkungen.
    http://www.webmanie.de

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 05.09.09, 13:39
  2. Stream schließen vs. Socket offen
    Von Saxer im Forum Java
    Antworten: 3
    Letzter Beitrag: 09.04.09, 18:30
  3. Probleme mit Stream über Socket
    Von vaporizer im Forum Java
    Antworten: 2
    Letzter Beitrag: 19.09.06, 11:51
  4. XML-Stream von Socket lesen
    Von lindin im Forum Java
    Antworten: 0
    Letzter Beitrag: 31.08.04, 16:34
  5. Antworten: 0
    Letzter Beitrag: 26.08.02, 13:26