Forum: PC-Programmierung Winsock C Konsole-App Senden und Empfangen gleichzeitig


von M. G. (sirmel)


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

von g457 (Gast)


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.

von Severino R. (severino)


Lesenswert?

g457 schrieb:

> Als Zuckerl obendrauf dann noch muli-fredding statt busy-waiting, aber

Fred Flintstone oder welcher Fred?

SCNR

von Klaus W. (mfgkw)


Lesenswert?

Treddi Freddi nennen ihn seine Freunde

von Michael R. (dj_motionx)


Lesenswert?

Hallo !

http://www.zotteljedi.de/socket-tipps/

finde ich ganz gut.

L.g.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.