[*] 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.