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

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: TCP -Socket beschreibbar nach der Verbindung, aber vor dem econnRenfused -Fehler

by Anonymous » 17 Aug 2025, 02:36

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.

Top