mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-02-24 17:20:54 +08:00
add test for multi server
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user