mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-22 19:00:01 +08:00
rtsp/rtmp超时时间可配置
This commit is contained in:
parent
a39c4c1344
commit
e9e21e11a2
@ -158,10 +158,13 @@ onceToken token([](){
|
||||
namespace Rtsp {
|
||||
#define RTSP_FIELD "rtsp."
|
||||
const char kAuthBasic[] = RTSP_FIELD"authBasic";
|
||||
|
||||
const char kHandshakeSecond[] = RTSP_FIELD"handshakeSecond";
|
||||
const char kKeepAliveSecond[] = RTSP_FIELD"keepAliveSecond";
|
||||
onceToken token([](){
|
||||
//默认Md5方式认证
|
||||
mINI::Instance()[kAuthBasic] = 0;
|
||||
mINI::Instance()[kHandshakeSecond] = 15;
|
||||
mINI::Instance()[kKeepAliveSecond] = 15;
|
||||
},nullptr);
|
||||
|
||||
} //namespace Rtsp
|
||||
@ -170,10 +173,15 @@ onceToken token([](){
|
||||
namespace Rtmp {
|
||||
#define RTMP_FIELD "rtmp."
|
||||
const char kModifyStamp[] = RTMP_FIELD"modifyStamp";
|
||||
const char kHandshakeSecond[] = RTMP_FIELD"handshakeSecond";
|
||||
const char kKeepAliveSecond[] = RTMP_FIELD"keepAliveSecond";
|
||||
|
||||
onceToken token([](){
|
||||
mINI::Instance()[kModifyStamp] = true;
|
||||
mINI::Instance()[kHandshakeSecond] = 15;
|
||||
mINI::Instance()[kKeepAliveSecond] = 15;
|
||||
},nullptr);
|
||||
|
||||
} //namespace RTMP
|
||||
|
||||
|
||||
|
@ -194,12 +194,19 @@ extern const char kMaxReqSize[];
|
||||
namespace Rtsp {
|
||||
//是否优先base64方式认证?默认Md5方式认证
|
||||
extern const char kAuthBasic[];
|
||||
//握手超时时间,默认15秒
|
||||
extern const char kHandshakeSecond[];
|
||||
//维持链接超时时间,默认15秒
|
||||
extern const char kKeepAliveSecond[];
|
||||
} //namespace Rtsp
|
||||
|
||||
////////////RTMP服务器配置///////////
|
||||
namespace Rtmp {
|
||||
extern const char kModifyStamp[];
|
||||
|
||||
//握手超时时间,默认15秒
|
||||
extern const char kHandshakeSecond[];
|
||||
//维持链接超时时间,默认15秒
|
||||
extern const char kKeepAliveSecond[];
|
||||
} //namespace RTMP
|
||||
|
||||
|
||||
|
@ -63,14 +63,17 @@ void RtmpSession::onError(const SockException& err) {
|
||||
}
|
||||
|
||||
void RtmpSession::onManager() {
|
||||
if (_ticker.createdTime() > 15 * 1000) {
|
||||
GET_CONFIG(uint32_t,handshake_sec,Rtmp::kKeepAliveSecond);
|
||||
GET_CONFIG(uint32_t,keep_alive_sec,Rtmp::kKeepAliveSecond);
|
||||
|
||||
if (_ticker.createdTime() > handshake_sec * 1000) {
|
||||
if (!_pRingReader && !_pPublisherSrc) {
|
||||
shutdown(SockException(Err_timeout,"illegal connection"));
|
||||
}
|
||||
}
|
||||
if (_pPublisherSrc) {
|
||||
//publisher
|
||||
if (_ticker.elapsedTime() > 15 * 1000) {
|
||||
if (_ticker.elapsedTime() > keep_alive_sec * 1000) {
|
||||
shutdown(SockException(Err_timeout,"recv data from rtmp pusher timeout"));
|
||||
}
|
||||
}
|
||||
|
@ -111,7 +111,10 @@ void RtspSession::onError(const SockException& err) {
|
||||
}
|
||||
|
||||
void RtspSession::onManager() {
|
||||
if (_ticker.createdTime() > 15 * 1000) {
|
||||
GET_CONFIG(uint32_t,handshake_sec,Rtsp::kKeepAliveSecond);
|
||||
GET_CONFIG(uint32_t,keep_alive_sec,Rtsp::kKeepAliveSecond);
|
||||
|
||||
if (_ticker.createdTime() > handshake_sec * 1000) {
|
||||
if (_strSession.size() == 0) {
|
||||
shutdown(SockException(Err_timeout,"illegal connection"));
|
||||
return;
|
||||
@ -119,7 +122,7 @@ void RtspSession::onManager() {
|
||||
}
|
||||
|
||||
|
||||
if ((_rtpType == Rtsp::RTP_UDP || _pushSrc ) && _ticker.elapsedTime() > 15 * 1000) {
|
||||
if ((_rtpType == Rtsp::RTP_UDP || _pushSrc ) && _ticker.elapsedTime() > keep_alive_sec * 1000) {
|
||||
//如果是推流端或者rtp over udp类型的播放端,那么就做超时检测
|
||||
shutdown(SockException(Err_timeout,"rtp over udp session timeouted"));
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user