TCP -Socket beschreibbar nach der Verbindung, aber vor dem econnRenfused -FehlerLinux

Linux verstehen
Anonymous
 TCP -Socket beschreibbar nach der Verbindung, aber vor dem econnRenfused -Fehler

Post by Anonymous »

Ich verwende nicht blockierende TCP-Sockets auf Linux und sehe gelegentlich das folgende Muster: < /p>

[*] Erstellen Sie den Socket mit Socket () und setzen Sie O_Nonblock. Um beschreibbar zu sein < /li>
Sobald der Socket beschreibbar ist, Call Getockopt, um so_error zu erhalten, und der Fehler 0 < /li>
Letztendlich ist die Verbindung nicht bestanden. Enotconn zurück zu Schritt 3. Meine Fragen: < /p>
  • Ist dieses normale Verhalten des Linux-Kernels oder habe ich einen Fehler gemacht, wie ich mit Epoll oder Nicht-Blocking-Verbindungen umgeht? Eine andere Option wäre, Connect ein zweites Mal aufzurufen und zu prüfen, ob ERRNO ealready oder Eisconn oder einen anderen Fehler ist. Dies ist leistungskritischer Code und der GetPeername () muss in dem gemeinsamen Fall leider auftreten.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post