XML - Serialisierung Austausch über TCP/IP incl. WinForm

Frage XML - Serialisierung Austausch über TCP/IP incl. WinForm

  • Donnerstag, 24. Januar 2013 06:32
     
     

    Hallo,

    kennt jemand ein gutes Beispiel incl. WinForm?

    Frage-Antwort, Zuordnung der Frage zur Antwort? Mit ID?

    Die Antwort muss ja zur Frage passen, nicht dass die Antwort zur falschen Frage kommt. Welche Konzepte gibt es da?

    Thread, UI Geschichte. Das ist ja nicht so einfach. Pawel, deshalb frage ich nochmals gezielt nach. Hoffe ok.

    TcpListener-Klasse

    Buch

    Bei allem was man so hat, ist das Prinzip beschrieben, halt praxisfremd.

    Ich habe halt ein Userinterface, das bedienbar sein muss. I

    Im Hintergrund wird was gemacht. Da geht kein Beispiel ein, wie man das richtig sauber handelt.

    Gruß, Andy

Alle Antworten

  • Freitag, 25. Januar 2013 09:32
     
     

    Die Beschreibung is a bisserl mager. Wer soll mit wem Daten austauschen? Synchron oder asynchron? Push oder pull? Mit ständiger Verbindung oder nur on-demand?

    Im Grunde denke ich, das du mit einem Web-Service (SOAP oder REST) am einfachsten zum Ziel kommst. Dies setzt eine Client-Server-Architektur voraus, bei der der Client die Daten per Pull anfragt bzw. austauscht. Dazu ist keine permanente Verbindung nötig.

    Ansonsten siehe dir das TcpClient-Beispiel an. Du musst lediglich deine Objekte in den Stream serialisieren..

  • Freitag, 25. Januar 2013 10:39
    Moderator
     
     

    Hallo Andy,

    Schau Dir mal die folgende Link an http://nitoprograms.blogspot.co.uk/2009/07/xml-over-tcpip.html

    Gruss,

    Ionut

  • Freitag, 25. Januar 2013 12:44
     
      Enthält Code

    Die Beschreibung is a bisserl mager.

    Hallo,

    anbei detaillierter.

    Telegramm 01

    Anfrage  Client zum Server
    Telegramm 01
    Frage:

    <Group>
      GetWeißeWare
    </Group>

    Antwort:

    <Group>
      Weiße Ware
      <items>
        <item1  Kühlschrank="Mediamarkt"  Preis="379.99€"
           <item2  Waschmaschine="Saturn"

    etc.=""

    Telegramm=02
    Frage

    <Group>
          SendWeißeWareUpdate
          <items>
            <item1  Kühlschrank="Mediamarkt"  Preis="279.99€"
            <item2  Waschmaschine="Saturn" Preis="589.99€"
        </Group>

       

        Antwort:

    <Group>
          SendWeißeWareUpdate State="OK"
        <!--  SendWeißeWareUpdate State="NAK" -->
        </Group>

      etc.

    Es gibt n-Telegramme.

    Im UserInterface sind die Masken zu sehen.
    Master-Detail

    Diese Richtung suche ich. Machbarkeit, Konzept.
    Wie prüfe ich, passt die Frage zur Antwort. Über eine zusätzliche ID?
    Welche Mechanismen gibt es?
    Wie verläuft es im Hintergrund. Was ist zu beachten, Threading?
    Wie implementiert man das richtig?

    Ich suche nicht, eine komplette Lösung, die mein Datenbankmodell abdeckt,
    das bekomme ich nirgends, was ich erhoffe, ein kleines Musterprojekt, wie das logische Modell aussehen kann.
    Wie der richtige Ansatz ist. Viele Beispiele die ich finde laufen halt nur auf Console Ebene.

    Viele Grüße Andy

  • Montag, 28. Januar 2013 05:32
     
     

    Schau Dir mal die folgende Link an http://nitoprograms.blogspot.co.uk/2009/07/xml-over-tcpip.html

    Hallo Ionut,

    kann man das Projekt komplett downloaden?

    Grüß Andy

  • Montag, 28. Januar 2013 08:35
    Moderator
     
     

    Hallo Andy,

    Hier findest Du sein Code und einige Beispiele http://nitoasync.codeplex.com/SourceControl/changeset/view/76924

    Gruss,

    Ionut

  • Montag, 28. Januar 2013 11:31
     
     

    Hier findest Du sein Code und einige Beispiele http://nitoasync.codeplex.com/SourceControl/changeset/view/76924

    Hallo,
    ja stimmt. Ist jedoch auch wieder ziemlich aufgebohrt finde ich zumindest.
    OK. Ich müsste jetzt den Binary Formatierer durch den XML ersetzen.

    Muss ich die Synchronisation sicherstellen oder macht das das System schon.
    Hier wird ja teils die GUI von Windows mitgesendet. Woher weiß der Client, dass die Id passt.

    Frage zur Antwort.

    So wie ich oben angedeutet habe, sprich ein komplettes XML Beispiel.

    Kennst Du so etwas vielleicht noch? Ansonsten sicher muss ich mich da mal durcharbeiten. Man will es halt gleich richtig machen.

    Grüße Andy