AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi XML mit ClientSocket empfangen und auswerten
Thema durchsuchen
Ansicht
Themen-Optionen

XML mit ClientSocket empfangen und auswerten

Ein Thema von mruecker · begonnen am 1. Jan 2006 · letzter Beitrag vom 1. Jan 2006
Antwort Antwort
mruecker

Registriert seit: 1. Dez 2002
15 Beiträge
 
#1

XML mit ClientSocket empfangen und auswerten

  Alt 1. Jan 2006, 18:09
Hallo zusammen,

ich stehe derzeit ziemlich auf dem Schlauch und benötige einen kleinen Denkanstoß.

Folgendes Szenario:

Ich empfange mit Hilfe von TClientSocket Daten von einem Server mit dem folgenden Aufbau:

XML-Code:

<ManagerOutput>
 <Event Value="..."/>
 <Privilege Value="..."/>
 <Server Value="localhost"/>
</ManagerOutput>
Ich muss nun die Daten auslesen und entsprechend dem Value-eintrag des Event-Tags verschiedene Aktionen starten.
Jede Aktion auf dem Server löst ein solches Datenpaket aus. Was allerdings vorkommen kann, ist, dass nicht immer der komplette Block in einem Pufferpaket ankommt.
Ich brauche also eine Lösung, die wie folgt aussieht:
Lese den Socket vom Starttag anfangend bis zum Endtag.
Schreibe die Tag-Namen und die Value-Werte in Variablen und
lösche den Puffer für den Empfang weiterer Pakete.

Nun meine Frage (wir benutzen Dephi 7 Pro):
1.) Benötige ich für diese Aufgabe unbedingt eine XML Komponente, und wenn ja, welche könnt ihr hierfür empfehlen?
2.) Wie kann ich das Pufferproblem am besten lösen?

Für entsprechende Denkankstöße wäre ich sehr dankbar...

Danke und ein erfolgreiches neues Jahr,
Markus...
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: XML mit ClientSocket empfangen und auswerten

  Alt 1. Jan 2006, 18:42
Moin!

1. Wieso nutzt du nicht einen TMemoryStream und schreibst alles empfangene dort hinein. Danach kannst du sofort schauen, ob die XML Daten komplett empfangen wurden und entsprechend verarbeiten.

2. Du musst nicht eine XML Komponente dafür nutzen, aber es kann doch auch leicht eine umfangreichere Datenstruktur von dem Server (abhängig von dem Event) zurück kommen und da wird es dann ein wenig schwieriger mit dem "per Hand" durcharbeiten. Auch ist die Frage, ob der Server nicht vllt. auch mal andere Zeichensätze wie z.B. UTF-8 mit BOM benutzt, dann hast du höchstwahscheinlich auch wiederrum ein Problem.

MfG
Muetze1
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz