Problem bei Netzwerkprogrammierng
-
ich hab mich kürzlich mit Netzwerkprogrammierung beschäftigt, und habe jetzt angefangen ein chatprogramm zu schreiben...nun stehe ich vor einem problem...
wenn ich mit listen() (als Server)auf eine Verbindung warte, hält er das programm an, bis ein Client verbunden hat...
da es eine windowsbasierende anwendung (mit Winapi erstellt) ist, ist es umso störender...der server soll zu jeder zeit einen neuen client annehmen können, aber trotzdem andere tasks ausführen können...kann mir da jemand einen tipp geben?
Danke im vorraus...
Maikel
-
Spontan würde ich sagen Threads verwenden oder den socket in Verbindung mit overlapped öffnen (hab da aber keine konkretes Wissen )
-
Am besten wäre wohl Multithreading oder Async-Sockets. Kommt darauf an was für Aufgabe nebenher erledigt werden müssen und wie viel Rechenzeit dazu benötigt wird. Ich würde dir einfach einen Thread empfehlen der die Verbindungen entgegennimmt
-
alles klar danke...
ich werd mich jetzt mit multithreading befassen, um das problem zu lösen...Danke für die hilfe
Maikel..
-
eine frage hätte ich dann aber noch...
kann man über send() und recv() nur text übers netzwerk verschicken?
und wenn ja gibt es vielleicht noch andere funktionen, mit dem man andere daten verschicken kann?
-
hallo,
schreibe
send(s, (char*)pIrgendwelcheDaten_kann_auch_String_sein, Länge_IrgendwelcheDaten_kann_auch_String_sein, 0);oder
recv(s, (char*)pIrgendwelcheDaten_kann_auch_String_sein, Länge_IrgendwelcheDaten_kann_auch_String_sein, 0);
mfg
RB