Socket Select bringt keinen Error bei Verbindungsreset



  • Hallo Leute,

    ich verwende einen Windows Socket zur Kommunikation.

    FD_SET(hSocket,&fdsRead);
    FD_SET(hSocket,&fdsError);
    
    if (select(0,&fdsRead,NULL,&fdsError,&tvTimout))
    {
    // ..
    if (FD_ISSET(hSocket,&fdsError))
    {
    // ..
    }
    }
    

    nun weiß ich das der Server ein Verbindungsreset Packet sendet (Tracer) aber der Socket generiert mir keinen Fehler.

    Woran könnte dies liegen.

    MfG



  • exceptfds:

    * If processing a connect call (nonblocking), connection attempt failed.
    * OOB data is available for reading (only if SO_OOBINLINE is disabled).

    => teste das read fd-set



  • ich versteh jetzt nicht ganz

    mit dem Read teste ich doch nur ob daten da sind, das klappt auch benutze ich um daten zu empfangen.

    wie meinst du das genau das read testen um herauszufinden ob ein error aufgetreten ist?

    MfG



  • also geht sowas?

    if (FD_ISSET(hSocket,&fdsRead))
    {
      if (0 < (ciRead = recv(hSocket,(char *)rgubRxBuffer,1800,0)))
      {
       // ..
      }
      else
      {
       // Fehler
      }
    }
    

    MfG


Anmelden zum Antworten