ping_timeout

`ping_timeout` 指令定义了在 NGINX RTMP 模块中检测非活动客户端连接的超时时间。

语法ping_timeout timeout;
默认值none
上下文
参数1

说明

ping_timeout 指令在使用 NGINX RTMP 模块的直播流应用中至关重要。该指令指定服务器等待从客户端接收 'ping' 请求的超时时间(以毫秒为单位)。如果在超时期限内未收到 ping,服务器会将该客户端视为非活动并可能断开其连接。这对于维护服务器资源效率以及确保非活动客户端不会无限期保持连接以致导致资源耗尽非常重要。\n\n在配置 ping_timeout 时,管理员需要确定服务器在决定断开连接前应等待多长时间。为 ping_timeout 设置的值应考虑典型的网络条件和用户行为,以在为合法用户保持连接和释放非活动用户占用的资源之间取得平衡。过短的超时可能会在客户端仅遭遇网络延迟时过早断开它们,而过长的超时则可能不必要地为非活动客户端分配资源。\n\nping 机制与服务器对 RTMP 的实现协同工作,通常会定期向客户端发送 ping 以验证其活动状态。ping_timeout 与客户端实现之间的相互作用将决定该指令的有效性。如果客户端未遵循预期的 ping 行为,服务器的设置可能需要调整以优化性能和用户体验。

配置示例

rtmp {
    server {
        listen 1935;
        application live {
            live on;
            ping_timeout 15000;
        }
    }
}

将 timeout 设置得过低可能会导致合法客户端被意外丢弃。

确保客户端应用程序设计为定期发送 pings,以避免过早发生 timeout 的情况。

← 返回所有指令