我有一个接受 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