Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: Rund um die Programmierung ::  Netzwerk-Kommunikation in "großen" Programmen ...     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
nalamar
Mitglied

Benutzerprofil
Anmeldungsdatum: 28.04.2009
Beiträge: 89
Beitrag nalamar Mitglied 09:32:37 05.03.2012   Titel:   Netzwerk-Kommunikation in "großen" Programmen ...            Zitieren

Hallo Forum,

ich experimentieren nun schon ne weile mit Client-Server Kommunikation, wobei mein eigenes Programm bisher auch das tut, was es soll. Und trotzdem hab ich immer irgendwie das Gefühl, es müsste eine elegantere Lösung her, als ich sie bisher verwende. Mein Client überträgt einen Satz Daten, der immer aus einem String und 1 bis 3 variablen Teilen besteht, an den Server. Der Server wertet den String aus (switch) und ruft eine Funktion auf die den Variablen teil aus 1 bis 3 Argumenten benötigt. Die Antwort wird zurück übertragen. Nun steh ich am Anfang meines Projekts, die Anzahl der Funktionen die der Server aufruft sind noch recht überschaubar. Wenn ich aber nun an größere Programme denke, wo vielleicht mehrere 100 verschiedene Anfragen an den Server gerichtet werden würden, kann ich mir im Moment irgendwie nicht vorstellen das "switch" da noch als Lösung in Frage kommt. Hier wäre ich für Denkanstöße durchaus dankbar!

Desweiteren ist es so, das ich im Moment für jegliche Datenübertragung Verbindung aufbaue, Daten hin und her übertrage, Verbindung abbaue. Auch hier denke ich im Moment darüber nach, ob es nicht Sinnvoll wäre eine permanente Connection zu haben, solange der Client läuft um eventuell "Connect-Zeiten" zu optimieren. Im moment läuft das ganze bei mir noch im Heimnetzwerk und daher problemlos, im Einsatz steht der Server zwar auch noch bei mir, aber der Client ist 100km weg und via Internet connected. Wobei es eben zum einen sein kann, das man den Client nur mal schnell anwirft um 2 3 Daten zu ändern, die übertragen werden müssen, zum anderen aber auch mal 2h vor dem Client zubringt etwas zu planen, ohne das Daten ausgetauscht werden.
Ich hoffe auch hier könnt ihr mich auf den richtige Pfad führen !

Der Nala


Zuletzt bearbeitet von nalamar am 09:32:46 05.03.2012, insgesamt 2-mal bearbeitet
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 5865
Beitrag knivil Mitglied 10:37:28 05.03.2012   Titel:              Zitieren

Ist aehnlich wie in GUI-Systemen, somit Eventlistener etc. ... Du ueberlegst dir, was switch eigentlich ist und abstrahierts. Also Listener fuer die entsprechenden Cases als Klasse. Die Objekte registrieren sich, etc. ...

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.


Zuletzt bearbeitet von knivil am 10:39:05 05.03.2012, insgesamt 1-mal bearbeitet
BadWolf
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.12.2009
Beiträge: 133
Beitrag BadWolf Mitglied 11:21:31 05.03.2012   Titel:              Zitieren

Ich mache es per Http.

Daten werden per POST geschickt.

Antwort kommt als String der per operator<< wieder in Objekte gestreamt werden kann.

Man könnte das natürlich noch künstliche aufblähen (das ist das, was die "Grossen" machen) indem man das Ganze in XML verpackt, aber das mache ich nur für APIs die von Fremd-Programmen genutzt werden.
nalamar
Mitglied

Benutzerprofil
Anmeldungsdatum: 28.04.2009
Beiträge: 89
Beitrag nalamar Mitglied 13:16:26 05.03.2012   Titel:              Zitieren

@knivil Kennst du dazu eventuell ein gut Dokumentiertes Beispiel wo man sich das ein oder andere abschauen kann ?
c++.de :: Rund um die Programmierung ::  Netzwerk-Kommunikation in "großen" Programmen ...   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.