nginx-rtmp-module推流出现live: already publishing

原因

之前的推流客户端断开时,TCP链接不能够被正常关闭,publishing会一直存在导致的。
查看服务端rtmp推流端口状态,都处于结束的状态
在这里插入图片描述

内部原因

TCP 连接一旦建立,只要通信双方之间的中间结点(包括网关和交换机、路由器等网络设备)工作正常,那么在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。TCP 连接的这种特性,使得一个长期不交换任何信息的空闲连接可以长期保持数小时、数天甚至数月。中间路由器可以崩溃、重启,网线可以被挂断再连通,只要两端的主机没有被重启,TCP 连接就可以被一直保持下来

解决办法

在/etc/nginx/nginx.conf 中加入红框中的内容
在这里插入图片描述
该内容含义为
最后一个ACK没有回复后隔了2秒开始TCP keep-alive 探活,间隔1秒,总共两次。

附listen选项说明

syntax: listen (addr[:port]|port|unix:path) [bind] [ipv6only=on|off] [so_keepalive=on|off|keepidle:keepintvl:keepcnt|proxy_protocol]
keepidle 对一个连接进行有效性探测之前运行的最大非活跃时间间隔
keepintvl 两个探测的时间间隔
keepcnt 关闭一个非活跃连接之前进行探测的最大次数t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值