Winsock C Konsole-App Senden und Empfangen gleichzeitig

#1728220
Lesenswert?

Hallo zusammen,

Ich habe ein Winsock-Projekt das einen einfach Chat ermöglichen soll. 
Das Programm läuft auch soweit gut, außer dass Client und Server immer 
nur abwechselnd Senden und Empfangen können. Das ganze Projekt ist als 
eine Konsole-Application realisiert. Gibt es da eine einfache 
Möglichkeit dass man unabhänging voneinandern Senden und Empfangen kann? 
Hatte schon mal geschaut und sowas wie Round Robin gefunden, das ist mir 
aber zu aufwändig da ich noch nicht lange C programmiere und das Projekt 
auch möglichst klein gehalten werden sollte. Code kann ich auch gerne 
anhängen wenn nötig, ansonsten ist der Code nahezu identisch zu 
http://www.c-worker.ch/tuts/wstut_op.php

LG Mel
Gast #1728237
Lesenswert?

Das erste Stichwort heisst 'non-blocking', wahlweise per ioctl() 
FIONBIO, fcntl() O_NDELAY oder (das ist die aktuelle Version) fcntl() 
O_NONBLOK. Kann auch sein, dass das unter Win wieder ganz anders heisst, 
aber zumindest das Stichwort ist definitv richtig ;-)

Das zweite Stichwort ist select() und dazu FD_SET() sowie FD_ISSET().

Als Zuckerl obendrauf dann noch muli-fredding statt busy-waiting, aber 
versuch dich erst mal an obigem ;-)

Viel Spaß beim Doku-lesen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren