mikrocontroller.net

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


Autor: M. G. (sirmel)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
g457 schrieb:

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

Fred Flintstone oder welcher Fred?

SCNR

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Treddi Freddi nennen ihn seine Freunde

Autor: Michael Rathmair (dj_motionx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo !

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

finde ich ganz gut.

L.g.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.