Messengerstatus in Messenger integrieren

@Bingo88
Genauso habe ich das auch vor.

Ich erspare mir jedoch die Trennzeichen, da es sonst zu Problemen kommen kann.
Die Daten werden hinter eh mit genauer Position aus dem Byte geschnitten, deswegen kann ich sparsam mit Trennzeichen sein..
Mir fehlt eigentlich nurnoch das Codeschnippsel, wie ich die richtige Zeile aus dem XML auslesen kann.

Ich drücke das mal wie in SQL aus xD

Select cmdlang (also die Länge für den befehl aus dem Byte)
from XML-File
Where Element=Send


Das Tag <cmdlang> kommt öfters in der XML vor, jedoch will ich immer nur die länge haben, die ich für den aktuellen Befehl auch benötige.

Ich habe schon mit XMLReader / xPath gearbeitet, komme jedoch zu keinem brauchbaren Ergebnis.

Vielleicht kann sich jemand für die paar Zeilen erbarmen :D

MfG

Curry
 
Ich verstehe jetzt ehrlich gesagt nicht, was du mit ner XML-Datei willst. Datei heißt ja, die Angaben kommen nicht über das Netz, sondern sind "fix". Da kannst du dann auch direkt mit fixen Positionsangaben arbeiten. Abgesehen davon bekommst damit Probleme, sobald Felder eine dynamische Länge besitzen können.

Solltest du ein XML-Dokument (bzw. Stream) meinen, der direkt über's Netzwerk geht, verstehe ich es allerdings auch nicht. Dann könntest du die Nachrichten ja direkt per XML versenden & verarbeiten und kannst dir dieses Indexgefummel sparen.
 
Ja das ist mir schon klar. Ist das eine echte Datei? Weil dann bekommst du Probleme:

SEND|User1|User2|Hallo!
Länge: 4, 5, 5, 6

SEND|User111|User2|Oops :(
Länge: 4, 7, 5, 7
=>Hier hat sich die Länge eines Felds verändert! Wenn die Positionen jetzt fix in einer Datei stehen, wirst du nicht mehr die richtigen Felder auslesen.
 
@bingo88

Alle Benutzer haben eine x Stellige ID. Diese ID wird übermittelt.

Bsp: ICQ Nummer (9 Stellig)
 
Ja dann mach das doch fest :ugly:
Sprich: Es wird eine SEND Nachricht erhalten -> Programm kennt den Aufbau, da eine SEND Nachricht nur so und nicht anders aufgebaut sein muss. Da macht man nichts mit externen Dateien die irgendwelche (gleichbleibenden) Felder angeben. Was das Performance kosten würde...

SEND|123456789|123456780|Text
Programm: SEND erhalten? Ja! => Sender = 9, Empfänger = 9, Rest = Nachricht. Alles andere wäre ein Formatfehler.
 
Der Sinn eines Protokolls ist es, zu beschreiben, wie Anwendungen untereinander kommunizieren. Wenn das einmal festgelegt ist, ist das festgelegt. Da ändert sich also nichts mehr dran. Aber gut, es ist halt deine Entscheidung und wenn du das so umständlich machen willst, will ich dich nicht davon abhalten :ugly:

Gut, also XML. Ich würde so spontan mal versuchen, das in ein XMLDocument zu parsen. Ich meine mich zu erinnern, da konnte man dann nach Entities (z. B. "send") suchen. Da ich mit XML aber so gut wie nie was mache, kann ich dir dazu jetzt auch erst mal nichts genaueres sagen und nur auf die MSDN Doku verweisen :D
 
Könnte mir jemand helfen, ich versuche dass der Server Threadbasiert die Clients abarbeitet.

Jedoch komme ich nicht mehr weiter.
 
Zurück