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
74d3a75b
Commit
74d3a75b
authored
May 02, 2017
by
xiongziliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add test for multi server
parent
777bd953
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
100 行增加
和
26 行删除
+100
-26
CMakeLists.txt
+4
-4
tests/CMakeLists.txt
+39
-0
tests/test_server.cpp
+27
-22
tests/test_server.pem
+30
-0
没有找到文件。
CMakeLists.txt
查看文件 @
74d3a75b
...
...
@@ -2,7 +2,7 @@ project(ZLMediaKit)
cmake_minimum_required
(
VERSION 2.8
)
#加载自定义模块
set
(
CMAKE_MODULE_PATH
${
CMAKE_MODULE_PATH
}
"
${
PROJECT_SOURCE_DIR
}
"
)
set
(
CMAKE_MODULE_PATH
${
CMAKE_MODULE_PATH
}
"
${
PROJECT_SOURCE_DIR
}
/cmake
"
)
#设置库文件路径
set
(
LIBRARY_OUTPUT_PATH
${
PROJECT_BINARY_DIR
}
/lib
)
#设置可执行程序路径
...
...
@@ -83,14 +83,14 @@ add_compile_options(-Wno-deprecated-declarations)
#关闭__FUNCTION__宏在函数外警告
add_compile_options
(
-Wno-predefined-identifier-outside-function
)
#编译
静
态库
#编译
动
态库
if
(
NOT IOS
)
add_library
(
${
CMAKE_PROJECT_NAME
}
_shared SHARED
${
SRC_LIST
}
)
set_target_properties
(
${
CMAKE_PROJECT_NAME
}
_shared PROPERTIES OUTPUT_NAME
"
${
CMAKE_PROJECT_NAME
}
"
)
install
(
TARGETS
${
CMAKE_PROJECT_NAME
}
_shared LIBRARY DESTINATION lib
)
endif
(
NOT IOS
)
#编译
动
态库
#编译
静
态库
add_library
(
${
CMAKE_PROJECT_NAME
}
_static STATIC
${
SRC_LIST
}
)
set_target_properties
(
${
CMAKE_PROJECT_NAME
}
_static PROPERTIES OUTPUT_NAME
"
${
CMAKE_PROJECT_NAME
}
"
)
install
(
TARGETS
${
CMAKE_PROJECT_NAME
}
_static ARCHIVE DESTINATION lib
)
...
...
@@ -100,7 +100,7 @@ install(DIRECTORY ${PROJECT_BINARY_DIR}/include/${CMAKE_PROJECT_NAME} DESTINATIO
#测试程序
if
(
NOT IOS
)
#
add_subdirectory(tests)
add_subdirectory
(
tests
)
endif
(
NOT IOS
)
...
...
tests/CMakeLists.txt
0 → 100644
查看文件 @
74d3a75b
aux_source_directory
(
. TEST_SRC_LIST
)
foreach
(
TEST_SRC
${
TEST_SRC_LIST
}
)
STRING
(
REGEX REPLACE
".cpp"
""
TEST_EXE_NAME
${
TEST_SRC
}
)
STRING
(
REGEX REPLACE
"./"
""
TEST_EXE_NAME
${
TEST_EXE_NAME
}
)
message
(
STATUS
"add test program:
${
TEST_EXE_NAME
}
"
)
add_executable
(
${
TEST_EXE_NAME
}
${
TEST_SRC
}
)
target_link_libraries
(
${
TEST_EXE_NAME
}
${
CMAKE_PROJECT_NAME
}
_shared pthread
)
#查找mp4v2是否安装
if
(
MP4V2_FOUND
)
target_link_libraries
(
${
TEST_EXE_NAME
}
mp4v2
)
endif
(
MP4V2_FOUND
)
#查找x264是否安装
if
(
X264_FOUND
)
target_link_libraries
(
${
TEST_EXE_NAME
}
x264
)
endif
(
X264_FOUND
)
#查找faac是否安装
if
(
FAAC_FOUND
)
target_link_libraries
(
${
TEST_EXE_NAME
}
faac
)
endif
(
FAAC_FOUND
)
#查找ZLToolKit是否安装
if
(
ZLTOOLKIT_FOUND
)
target_link_libraries
(
${
TEST_EXE_NAME
}
ZLToolKit
)
endif
(
ZLTOOLKIT_FOUND
)
#查找openssl是否安装
if
(
OPENSSL_FOUND
)
target_link_libraries
(
${
TEST_EXE_NAME
}
ssl
)
endif
(
OPENSSL_FOUND
)
#查找mysql是否安装
if
(
MYSQL_FOUND
)
target_link_libraries
(
${
TEST_EXE_NAME
}
mysqlclient
)
endif
(
MYSQL_FOUND
)
endforeach
(
TEST_SRC
${
TEST_SRC_LIST
}
)
tests/test_server.cpp
查看文件 @
74d3a75b
...
...
@@ -17,13 +17,12 @@
#include "Util/SqlPool.h"
#include "Util/logger.h"
#include "Util/onceToken.h"
#include "Util/File.h"
#include "Network/TcpServer.h"
#include "Poller/EventPoller.h"
#include "Thread/WorkThreadPool.h"
#ifdef ENABLE_HKDEVICE
#include "DeviceHK.h"
#endif //ENABLE_HKDEVICE
#include "Device/PlayerProxy.h"
#include <map>
using
namespace
std
;
using
namespace
ZL
::
Util
;
using
namespace
ZL
::
Http
;
...
...
@@ -31,26 +30,33 @@ using namespace ZL::Rtsp;
using
namespace
ZL
::
Rtmp
;
using
namespace
ZL
::
Thread
;
using
namespace
ZL
::
Network
;
using
namespace
ZL
::
DEV
;
void
programExit
(
int
arg
)
{
EventPoller
::
Instance
().
shutdown
();
}
int
main
(
int
argc
,
char
*
argv
[]){
signal
(
SIGINT
,
programExit
);
Logger
::
Instance
().
add
(
std
::
make_shared
<
ConsoleChannel
>
(
"stdout"
,
LTrace
));
Logger
::
Instance
().
setWriter
(
std
::
make_shared
<
AsyncLogWriter
>
());
#ifdef ENABLE_HKDEVICE
DeviceHK
::
Ptr
dev
(
new
DeviceHK
());
dev
->
connectDevice
(
connectInfo
(
"192.168.0.211"
,
8000
,
"admin"
,
"password"
),
[
dev
](
bool
success
,
const
connectResult
&
result
)
{
if
(
success
)
{
dev
->
addAllChannel
();
}
});
#endif //ENABLE_HKDEVICE
SSL_Initor
::
Instance
().
loadServerPem
((
exeDir
()
+
".HttpServer.pem"
).
data
());
//support rtmp and rtsp url
//just support H264+AAC
auto
urlList
=
{
"rtmp://live.hkstv.hk.lxdns.com/live/hks"
,
"rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov"
};
map
<
string
,
PlayerProxy
::
Ptr
>
proxyMap
;
int
i
=
0
;
for
(
auto
url
:
urlList
){
PlayerProxy
::
Ptr
player
(
new
PlayerProxy
(
"live"
,
std
::
to_string
(
i
++
).
data
()));
player
->
play
(
url
);
proxyMap
.
emplace
(
string
(
url
),
player
);
}
//请把证书"test_server.pem"放置在本程序可执行程序同目录下
try
{
SSL_Initor
::
Instance
().
loadServerPem
((
exePath
()
+
".pem"
).
data
());
}
catch
(...){
FatalL
<<
"请把证书:"
<<
(
exeName
()
+
".pem"
)
<<
"放置在本程序可执行程序同目录下:"
<<
exeDir
()
<<
endl
;
return
0
;
}
TcpServer
<
RtspSession
>::
Ptr
rtspSrv
(
new
TcpServer
<
RtspSession
>
());
TcpServer
<
RtmpSession
>::
Ptr
rtmpSrv
(
new
TcpServer
<
RtmpSession
>
());
...
...
@@ -67,12 +73,11 @@ int main(int argc,char *argv[]){
rtmpSrv
.
reset
();
httpSrv
.
reset
();
httpsSrv
.
reset
();
static
onceToken
token
(
nullptr
,
[]()
{
UDPServer
::
Destory
();
WorkThreadPool
::
Destory
();
EventPoller
::
Destory
();
Logger
::
Destory
();
});
UDPServer
::
Destory
();
WorkThreadPool
::
Destory
();
EventPoller
::
Destory
();
Logger
::
Destory
();
return
0
;
}
tests/test_server.pem
0 → 100644
查看文件 @
74d3a75b
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDe56xOopefsL3K+kfpDohkBnjZaTCLVdS+p6BUeRbeFO9xOaGy
5hPnVLHI1nlpRZaKfxm1MY9fDBh1kSbjhSqim9HUBoSvEE32yMM+0GIoNKKDWmhd
ePDXuSNO6d9nabg+5gmrR2fyYtSigTH6liqGSjhblAozlaXVZVYZOs/ePwIDAQAB
AoGAYcjkMALn3SgduoOdNEIp1yd3sHiS0S0wDQtgLG6Kd5ZbjCIqK17/cEYZT++2
h1X9ungTgQdiy+F0gW7RzpHGp4lso2a8PgEUIt4HICLZqBOWv6kId43kysBZQS/5
5g0ZGJGU5BFTdHzN5chaPE32MRGPpukNngRuRruRvoQaOuECQQD0EoC6EHwLehFI
KoLnDtzXpR1f4eRRbxJ6U/05Kr4+nz+MB7A2ilGEf+E7iCvoRGYkuieEuKYS9+NQ
Bv67i/aZAkEA6cxan6Q5BsSCoIKGbqATxW40j7m0Ii3VFb4w9vgaI0mHdRl9x59x
LKsIamcJZI7szmJdOi3tBKB9Xc3PxfD6lwJBAIYOU53eyAMVvMBCeTunsizPh97O
F7WSqDeAQilQDMYgearT3jlWp4d7JZ6pIFSmnOO3S1VehfkNJlEiRm+EZKECQCEb
+IV9GzpTH/CdK26FKueduMHV2aWxeeivW33OGt1+bzltF7vqX3uk6Pcwikr8VprP
oUY49MTf+YEMQW1VuBcCQA3UvxGx7YbD3RihysBmTLHyF2DOR3pBQdL1jH5fFI9k
mMo0M2cvHytsIYZ69oULJkQ0TyNBslm/TLaHAK6fHbo=
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIICWDCCAcGgAwIBAgIJANTNO5CfgnKmMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTYwMTExMDgyNTIxWhcNMTkwMTEwMDgyNTIxWjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
gQDe56xOopefsL3K+kfpDohkBnjZaTCLVdS+p6BUeRbeFO9xOaGy5hPnVLHI1nlp
RZaKfxm1MY9fDBh1kSbjhSqim9HUBoSvEE32yMM+0GIoNKKDWmhdePDXuSNO6d9n
abg+5gmrR2fyYtSigTH6liqGSjhblAozlaXVZVYZOs/ePwIDAQABo1AwTjAdBgNV
HQ4EFgQUKOfhSgRHIkKMX7cwlVIBR493EXQwHwYDVR0jBBgwFoAUKOfhSgRHIkKM
X7cwlVIBR493EXQwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOBgQCxs7Ge
0mjdtHhFd7qerYVYS0uvVzRdYsYnK+rY6Y5wtXEWDNG2EOLA5/puaj93mvesKXTl
plTjFUnhmyXwwvXuKx+PdK87FXl4sTIyvf4/1eN2QIpy6WU4lAE11ONNF8djNc4W
FCu9etyoYfy6NE4C/ntJpB0xCNrX1cvrmukb6g==
-----END CERTIFICATE-----
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论