so_keepalive

指令 `so_keepalive` 用于为 RTMP 连接启用或禁用 TCP keepalive 功能。

语法so_keepalive on | off;
默认值off
上下文
参数flag

说明

指令 so_keepalive 是 NGINX RTMP 模块的一部分,用于管理 RTMP(Real-Time Messaging Protocol)连接的 TCP keepalive 设置。当设置为 'on' 时,它指示 NGINX 服务器为已打开的连接启用 keepalive 数据包,这有助于在不活动期间防止超时,从而维护持久连接。对于流媒体应用来说尤为重要,在这些应用中为客户端保持连接打开对于平稳的播放体验至关重要。

该指令通过调整底层 TCP 套接字的设置来定期发送 keepalive 数据包,从而发挥作用。这有助于检测无响应的对端并释放与不活动连接相关的资源。为了确保运行效果,通常会将其与管理连接状态的其他指令配合使用,因此它是需要高可用性和最少中断的应用中的关键设置。需要注意网络配置的影响,因为配置不当可能导致不必要的网络流量或连接中断。

配置示例

rtmp {
    server {
        listen 1935;
        application live {
            live on;
            so_keepalive on;
        }
    }
}

启用 keepalive 可能会增加网络流量,因为周期性的 keepalive 数据包会在网络中发送。

默认的服务器设置可能会覆盖或与该指令冲突,请确保在正确的上下文中对其进行适当配置。

← 返回所有指令