7 Stimmen

Ist es möglich, herauszufinden, ob ein Ruby-Socket im Zustand ESTABLISHED oder CLOSE_WAIT ist, ohne tatsächlich Daten zu senden oder zu lesen?

s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
s.connect(Socket.pack_sockaddr_in('port', 'hostname'))

ssl = OpenSSL::SSL::SSLSocket.new(s, sslcert)
ssl.connect

Ab hier möchte ich in einem Thread prüfen, ob die ssl-Verbindung und der darunterliegende Socket noch ESTABLISHED oder wenn sie in CLOSE_WAIT nach dem Standardwert von 7200 Sekunden oder schlimmer noch, ohne dass es nötig gewesen wäre, geschlossen wurde .write() zu oder .read() von ihm.

Erfolgt dies mit select() , IO.select() oder eine andere Methode?

Übrigens: Der Socket empfängt nie Daten, er sendet nur gelegentlich welche.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X