recv und dynamische IP



  • Hallo,

    ich habe ein Problem bei meinem Windows Winsock Programm:

    Es wird eine Verbindung zwischen Server und Client hergestellt und das Programm funktioniert auch so weit wunderbar, doch leider passiert manchmal folgendes:

    Immer, wenn eine neue IP vom Internet Provider/Router zugewiesen wird (durch "Zwangs-IP-Änderung" oder durch manuellen Restart des Routers), hängt das recv() und blockt unendlich lange. Die Folge ist, dass man das Programm neustarten muss.

    Wie kann man das verhindern bzw. warum passiert das überhaupt? Müsste die Funktion nicht eigentlich abbrechen und einen Error-Code zurückgeben?



  • Mit Hilfe von select() kannst du dir nen eigenes recv() mit einstellbarem timeout bauen.
    Oder alternativ wären vielleicht auch nonblocking-Sockets was für dich...


Anmelden zum Antworten