so_keepalive
指令 `so_keepalive` 用于为 RTMP 连接启用或禁用 TCP keepalive 功能。
NGINX RTMP module
语法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 数据包会在网络中发送。
⚠
默认的服务器设置可能会覆盖或与该指令冲突,请确保在正确的上下文中对其进行适当配置。