Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2015-01-09 09:00:08 +0800
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
b3225100e7968a72fc4c17e157c6abe9a8b9375e
b3225100
2 parents
b1187b8c
310e49e7
Merge pull request #282 from tufang14/develop
add client num in statistic with traverse every client for #227
隐藏空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
14 行增加
和
13 行删除
trunk/src/app/srs_app_rtmp_conn.cpp
trunk/src/app/srs_app_statistic.cpp
trunk/src/app/srs_app_statistic.hpp
trunk/src/app/srs_app_rtmp_conn.cpp
查看文件 @
b322510
...
...
@@ -200,7 +200,8 @@ int SrsRtmpConn::do_cycle()
ret
=
service_cycle
();
http_hooks_on_close
();
SrsStatistic
::
instance
()
->
on_close
(
_srs_context
->
get_id
());
SrsStatistic
*
stat
=
SrsStatistic
::
instance
();
stat
->
on_close
(
_srs_context
->
get_id
());
return
ret
;
}
...
...
trunk/src/app/srs_app_statistic.cpp
查看文件 @
b322510
...
...
@@ -131,26 +131,19 @@ int SrsStatistic::on_client(int id, SrsRequest* req)
}
else
{
client
=
clients
[
id
];
}
stream
->
clients
[
id
]
=
client
;
return
ret
;
}
int
SrsStatistic
::
on_close
(
int
id
)
void
SrsStatistic
::
on_close
(
int
id
)
{
int
ret
=
ERROR_SUCCESS
;
std
::
map
<
int
,
SrsStatisticClient
*>::
iterator
it
;
it
=
clients
.
find
(
id
);
if
(
it
!=
clients
.
end
())
{
SrsStatisticClient
*
client
=
it
->
second
;
client
->
stream
->
clients
.
erase
(
id
);
srs_freep
(
client
);
clients
.
erase
(
it
);
}
return
ret
;
}
int64_t
SrsStatistic
::
server_id
()
...
...
@@ -192,11 +185,20 @@ int SrsStatistic::dumps_streams(stringstream& ss)
ss
<<
__SRS_JFIELD_CONT
;
}
int
client_num
=
0
;
std
::
map
<
int
,
SrsStatisticClient
*>::
iterator
it_client
;
for
(
it_client
=
clients
.
begin
();
it_client
!=
clients
.
end
();
it_client
++
)
{
SrsStatisticClient
*
client
=
it_client
->
second
;
if
(
client
->
stream
==
stream
)
{
client_num
++
;
}
}
ss
<<
__SRS_JOBJECT_START
<<
__SRS_JFIELD_ORG
(
"id"
,
stream
->
id
)
<<
__SRS_JFIELD_CONT
<<
__SRS_JFIELD_STR
(
"name"
,
stream
->
stream
)
<<
__SRS_JFIELD_CONT
<<
__SRS_JFIELD_ORG
(
"vhost"
,
stream
->
vhost
->
id
)
<<
__SRS_JFIELD_CONT
<<
__SRS_JFIELD_ORG
(
"clients"
,
stream
->
clients
.
size
()
)
<<
__SRS_JFIELD_ORG
(
"clients"
,
client_num
)
<<
__SRS_JOBJECT_END
;
}
ss
<<
__SRS_JARRAY_END
;
...
...
trunk/src/app/srs_app_statistic.hpp
查看文件 @
b322510
...
...
@@ -34,7 +34,6 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <string>
class
SrsRequest
;
struct
SrsStatisticClient
;
struct
SrsStatisticVhost
{
...
...
@@ -54,7 +53,6 @@ public:
std
::
string
app
;
std
::
string
stream
;
std
::
string
url
;
std
::
map
<
int
,
SrsStatisticClient
*>
clients
;
public
:
SrsStatisticStream
();
virtual
~
SrsStatisticStream
();
...
...
@@ -94,7 +92,7 @@ public:
/**
* client close
*/
virtual
int
on_close
(
int
id
);
virtual
void
on_close
(
int
id
);
public
:
/**
* get the server id, used to identify the server.
...
...
请
注册
或
登录
后发表评论