Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
ZLMediaKit
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
张翔宇
ZLMediaKit
Commits
895e93cb
Commit
895e93cb
authored
a year ago
by
xia-chu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
端口池分配端口改成无序分配
解决zlmediakit重启后端口重复分配导致国标串流问题
parent
0c80f0c1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
8 行增加
和
3 行删除
+8
-3
src/Rtsp/Rtsp.cpp
+8
-3
没有找到文件。
src/Rtsp/Rtsp.cpp
查看文件 @
895e93cb
...
@@ -8,12 +8,13 @@
...
@@ -8,12 +8,13 @@
* may be found in the AUTHORS file in the root of the source tree.
* may be found in the AUTHORS file in the root of the source tree.
*/
*/
#include <cstdlib>
#include <cinttypes>
#include <random>
#include "Rtsp.h"
#include "Rtsp.h"
#include "Common/Parser.h"
#include "Common/Parser.h"
#include "Common/config.h"
#include "Common/config.h"
#include "Network/Socket.h"
#include "Network/Socket.h"
#include <cinttypes>
#include <cstdlib>
using
namespace
std
;
using
namespace
std
;
using
namespace
toolkit
;
using
namespace
toolkit
;
...
@@ -392,9 +393,13 @@ public:
...
@@ -392,9 +393,13 @@ public:
private
:
private
:
void
setRange
(
uint16_t
start_pos
,
uint16_t
end_pos
)
{
void
setRange
(
uint16_t
start_pos
,
uint16_t
end_pos
)
{
std
::
mt19937
rng
(
std
::
random_device
{}());
lock_guard
<
recursive_mutex
>
lck
(
_pool_mtx
);
lock_guard
<
recursive_mutex
>
lck
(
_pool_mtx
);
auto
it
=
_port_pair_pool
.
begin
();
while
(
start_pos
<
end_pos
)
{
while
(
start_pos
<
end_pos
)
{
_port_pair_pool
.
emplace_back
(
start_pos
++
);
// 随机端口排序,防止重启后导致分配的端口重复
_port_pair_pool
.
insert
(
it
,
start_pos
++
);
it
=
_port_pair_pool
.
begin
()
+
(
rng
()
%
(
1
+
_port_pair_pool
.
size
()));
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论