Server Client Programm



  • Hallo,
    vermutlich ein öfters behandeltes Thema, ich frage dennoch mal in die Runde.

    Ich wollte zur übung ein kleines Programm (zwei, Client und Server) schreiben.
    Ein einfaches Programm welches folgendes macht ist kein Problem:

    Client sendet -> Server macht was und sendet zurück zum client oder zum mehren Clienten -> client sieht es und kann weitere eingaben machen.

    Jetzt soll aber mal folgendes sein:

    Der Server soll daten Empfangen können und darauf reagiern, aber der server soll auch Selbständig daten senden können, z.b.: "Client A, lebst du noch?"

    Der Client soll diese meldung bekommen und darauf reagiern.

    Soweit ich das sehe gibt es da keine andere Möglichkeit als mit Threads?

    Serverschleife1(Wartet auf ein Eingabe von einen Clienten)
    Serverschleife2(Sendet bei bedarf Daten an Clienten)

    Clientschleife1(Wartet auf Benutzereingabe)
    Clientschleife2(Wartet auf Nachrichten vom Server)

    Gibt es das villeicht elegante beispiele?



  • seb-eisdrache schrieb:

    Soweit ich das sehe gibt es da keine andere Möglichkeit als mit Threads?

    Man könnte den select System call benutzen.



  • seb-eisdrache schrieb:

    Soweit ich das sehe gibt es da keine andere Möglichkeit als mit Threads?

    Doch, zum Beispiel mit dem asynchronen Modell von Boost Asio.
    Es gibt da auch noch Coroutinen, die bei Asio als schönere Schreibweise für die asynchronen Aufrufe dienen.


Log in to reply