Managed I/O an TCP Sockets



  • Hallo zusammen

    ich möchte an einem stream socket daten von mehreren Quellen empfangen - normalerweise würde man dafür fork benutzen, nun habe ich von managed I/O gehört (damit soll es möglich sein nächste Anfrage an den Server anzunehmen bevor vorherige Anfrage beantwortet ist)- finde aber nichts brauchbares dazu. Weiß jemand wie es funktioniert?

    und noch was - wie setze ich am geschicktesten Timeout für TCP socket? (um DNS zu vereiteln)

    Danke



  • Managed I/O sagt mir auch nichts. Aber was du vermutlich suchst sind Mechanismen wie select oder besser epoll (Linux)/kqueue (BSD). Gibt auch portable Bibliotheken wie libevent (C) oder boost::asio (C++) dafür.

    Stichwort ist eher Scalable I/O.



  • Ich meine das hier
    http://www.nightmare.com/medusa/medusa.html

    nur wäre es zu umständlich den kompletten source code zu "entschlüsseln" um die Funktionsweise zu verstehen - ich denke irgendwo muss doch das Verfahren beschrieben sein.



  • Ja, das wird wohl über etwas wie epoll laufen.



  • wird select( ) nicht eingesetzt um von multiplen ports zu lesen? D.h. wenn ich z.B. mit einem Programm 10 unterschiedliche Ports überwachen möchte, dann setze ich select( ) ein - aber in diesem fall sehe ich keinen Nutzen von dieser Funktion


Anmelden zum Antworten