Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Client/Server-Kommunikation

  1. #1
    Registrierter Benutzer Avatar von Gartenzwerg
    Registriert seit
    26.06.2003
    Beiträge
    75

    Client/Server-Kommunikation

    Hallo,

    ich will eine Client/Server-Anwendung schreiben. Der prinzipielle Aufbau ist mir geläufig. Aber wie kommunizieren Client und Server miteinander?
    Ich weiß, wie man Nachrichten hin- und herschickt.
    Schicke ich nun einen String und parse diesen nach selbstdefinierten Schlüsselwörtern oder übermittelt man direkt die Datenobjekte bzw. Klassen. (könnte mir vorstellen, dass das mehr traffic verursacht.)
    Oder macht man das ganz anders?
    Sorry, für die eigenartige Formulierung der Frage.

    Gartenzwerg

    P.S.: Sprache ist C bzw. C++ evtl. Qt
    http://sebastian.familiegibb.de | GiKraSoft | Nachwachsende Rohstoffe
    Ich denke niemals an die Zukunft - sie kommt früh genug.
    Albert Einstein

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Das kommt halt sehr drauf an

    Ich meine wie genau gedenkst du die Objekte "direkt" zu übermitteln? Ok, bei Java kannst du die recht einfach serialisieren und dann als bytestrom schicken.

    Aber dann brauchst du immer noch irgendwas drumherum damit die andere Seite weiss was da gerade auf sie zukommt.
    Das wiederum kannst du irgendwie machen - z.B. als XML (wie bei Jabber) oder Kraut und Rüben (wie wenn ich das schreiben würde )

    Am besten guckst du dir wohl ein Protokoll an das was ähnliches macht was du machen willst. Oder benutzt sogar ein schon existierendes.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer Avatar von Gartenzwerg
    Registriert seit
    26.06.2003
    Beiträge
    75
    Es soll eine Art Personalverwaltung werden.
    Beispiele, die vom Client gesendet werden müssten:
    ADD Mustermann, Peter Musterstraße 1 München
    SET TELNR Mustermann, Peter TO 12345/6789
    GET TELNR Mutermann, Peter
    LOAD FILE
    SAVE
    usw.

    Direkt die Klassen übersenden, wäre glaube ich mit einem QDataStream möglich.
    Code:
    QString name="Peter Mustermann";
    int telnr="123";
    
    QByteArray block;
    QDataStream out(&block, QIODevice::WriteOnly);
    out.setVersion(QDataStream::Qt_4_0);
    out << name;
    out << telnr;
    
    clientConnection->write(block);
    oder so ähnlich. Ungetestet!
    Aber das erweist sich, glaube ich als sehr umständlich. Die Verwendung eines Strings, den man selber parst ist wahrscheinlich günstiger.

    Gartenzwerg
    http://sebastian.familiegibb.de | GiKraSoft | Nachwachsende Rohstoffe
    Ich denke niemals an die Zukunft - sie kommt früh genug.
    Albert Einstein

  4. #4
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Tja, genau das sind die Entscheidungen, die ein Programmierer treffen muss, bevor er auch nur eine Programmzeile schreibt.

    Sollen die herstellersppezifisch übertragen werden, z.B. als Binary-Objekte. Wie baucht man die Binary-Objekte auf, damit man erkennt welches Binary-Objekt da übertragen wird.
    Sollen die Daten halbwegs standardisiert übertragen werden, z.B. als eine ASCII-Kodierung, sollen sie in XML formatiert übertragen werden, usw.

    Das ganze nennt man Protokollentwicklung, weil man ein Protokoll zur Kommunikation entwickelt. Zu den Überlegungen oben kommt noch hinzu Überlegungen wie, braucht man diese nur für dieses eine Projekt oder muss es "future-proof" sein.

    Pingu
    Homepage: www.pingu.info

  5. #5
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615
    Zur direkten Übergabe von Objekten gibt es ausserdem zahlreiche Protokolle und einen Haufen Middleware, wie z.B. Monster wie CORBA.
    Ich habe letztes Jahr eine Vorlesung über das Thema gehört, die Folien dazu findest du hier: http://www.tk.informatik.tu-darmstad...e/ws0506/votk1
    Seine Rätselhaftigkeit wird nur durch seine Macht übertroffen!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •