Anzeige:
Ergebnis 1 bis 3 von 3

Thema: [C] non-blocking recv

  1. #1
    Registrierter Benutzer
    Registriert seit
    02.02.2005
    Beiträge
    74

    [C] non-blocking recv

    Hi,

    ich arbeite hier mit vxWorks und mir einen kleinen Netzwerkserver geschrieben.
    Dieser spawned task, wenn eine accept reinkommt.

    In diesem Task läuft dann ein recv um die Packete anzunehmen, allerdings muss der Task noch auf eine MSQ hören, deswegen muss der recv Aufruf non-blocking sein.

    Wie kann ich das denn machen oder hat jemand einen schönen Link für mich?
    Gruss
    Matthias

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Vielleicht kannst du mit getsockopt/setsockopt auf non-blocking umschalten.

    Alternativ biete es sich an, nicht direkt recv aufzurufen sondern select() oder poll() zu benutzen um festzustellen, ob man etwas lesen kann.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    02.02.2005
    Beiträge
    74
    Hi,

    mit dem Aufruf klappt es dann:
    Code:
    int on=1;
    int status=ioctl(socket,FIONBIO,on);
    Gruss
    Matthias

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •