C++ Socket Bibliothek mit Threading
-
Hallo.
Ich suche eine Möglichkeit um eine einfache Verbindung herzustellen.
Momentan habe ich mich daran probiert, jedoch ist mir das ganze ein wenig zu komplex: http://www.alhem.net/Sockets/Ich brauche etwas, womit ich einfach senden (Client -> Server und Server -> Client) kann. Der Server sollte eingehende Verbindungen von Clients unterstützen und dann auf Nachrichten warten und dann antworten, das typische eben.
Soweit ich mich informiert habe, muss ich ja Threads für jeden Socket einzeln verwenden, damit das Programm nicht blockiert wird. Beim Master wäre das nicht schlimm, aber beim Client darf das ja nicht sein.
Gibt es also schon Bibliotheken, die so etwas von Haus aus unterstützen?
Sie muss Windows & Unix unterstützen.Ich hoffe, so etwas gibt es.
Gruß & Danke
-
-
Vielleicht reicht dir die Funktionalität von SFML, die Bibliothek ist um einiges moderner als wxWidgets.
-
Boost-Asio?

-
Scorcher24 schrieb:
Oh nein bitte nicht.
Kóyaánasqatsi schrieb:
Boost-Asio?

Schon eher, ist aber auch nicht ganz trivial.
-
hustbaer schrieb:
Schon eher, ist aber auch nicht ganz trivial.
Naja, Socketprogrammierung eben. Aber was des Threading betrifft, elemeniert
boost::asioschon einiges an Komplexität.
-
Soweit ich mich informiert habe, muss ich ja Threads für jeden Socket einzeln verwenden, damit das Programm nicht blockiert wird.
Nein, nicht zwingend, select etc. ... Auch wenn es Bibliotheken gibt, sollte man sich dennoch mit den Grundlagen von Threads und Netzwerkwerkprogrammierung beschaeftigen. Bibliotheken nehmen einen nur etwas Arbeit ab, aber nicht das Denken. Hier ist ein Einstieg: http://beej.us/guide/bgnet/ .
-
Ich finde threading verwirrend. Guck mal select() an, dann kannst du alles in ein thread packen.

-
Edit: Habe die Lösung gefunden. Ich greife auf die Mainloop zu und benutze dort Select

Gruß