TCP 接続を受け入れる EventMachine があります。これらの接続は、非アクティブ状態が約 10 分続くと自動的に閉じますが、これは私にとっては悪いことです。開いたままにしておく必要があります。接続に KEEPALIVE ソケット オプションを設定する必要があると思いますが、構文を理解するのに少し苦労しています。
これが私が試したものですが、何も修正されませんでした:
class Connection < EventMachine::Connection
def initialize
set_sock_opt Socket::SOL_SOCKET, Socket::SO_KEEPALIVE, true
end
参考までに、メインの EventMachine ループを次に示します。
EventMachine::run do
EventMachine::start_server(host, port, Connection)
end