Commit fe4da29f by xiongziliang

update

parent 15f03476
...@@ -43,35 +43,35 @@ using namespace ZL::Thread; ...@@ -43,35 +43,35 @@ using namespace ZL::Thread;
using namespace ZL::Network; using namespace ZL::Network;
int main(int argc, char *argv[]){ int main(int argc, char *argv[]) {
//设置退出信号处理函数 //设置退出信号处理函数
signal(SIGINT, [](int){EventPoller::Instance().shutdown();}); signal(SIGINT, [](int) { EventPoller::Instance().shutdown(); });
//设置日志 //设置日志
Logger::Instance().add(std::make_shared<ConsoleChannel>("stdout", LTrace)); Logger::Instance().add(std::make_shared<ConsoleChannel>("stdout", LTrace));
Logger::Instance().setWriter(std::make_shared<AsyncLogWriter>()); Logger::Instance().setWriter(std::make_shared<AsyncLogWriter>());
if(argc != 5){ if (argc != 5) {
FatalL << "\r\n测试方法:./test_benchmark player_count play_interval rtxp_url rtp_type\r\n" FatalL << "\r\n测试方法:./test_benchmark player_count play_interval rtxp_url rtp_type\r\n"
<< "例如你想每隔50毫秒启动共计100个播放器(tcp方式播放rtsp://127.0.0.1/live/0 )可以输入以下命令:\r\n" << "例如你想每隔50毫秒启动共计100个播放器(tcp方式播放rtsp://127.0.0.1/live/0 )可以输入以下命令:\r\n"
<< "./test_benchmark 100 50 rtsp://127.0.0.1/live/0 0\r\n" << "./test_benchmark 100 50 rtsp://127.0.0.1/live/0 0\r\n"
<<endl; << endl;
Logger::Destory(); Logger::Destory();
return 0; return 0;
} }
{
list<MediaPlayer::Ptr> playerList; list<MediaPlayer::Ptr> playerList;
auto playerCnt = atoi(argv[1]);//启动的播放器个数 auto playerCnt = atoi(argv[1]);//启动的播放器个数
atomic_int alivePlayerCnt(0); atomic_int alivePlayerCnt(0);
//每隔若干毫秒启动一个播放器(如果一次性全部启动,服务器和客户端可能都承受不了) //每隔若干毫秒启动一个播放器(如果一次性全部启动,服务器和客户端可能都承受不了)
AsyncTaskThread::Instance().DoTaskDelay(0, atoi(argv[2]), [&](){ AsyncTaskThread::Instance().DoTaskDelay(0, atoi(argv[2]), [&]() {
MediaPlayer::Ptr player(new MediaPlayer()); MediaPlayer::Ptr player(new MediaPlayer());
player->setOnPlayResult([&](const SockException &ex){ player->setOnPlayResult([&](const SockException &ex) {
if(!ex){ if (!ex) {
++alivePlayerCnt; ++alivePlayerCnt;
} }
}); });
player->setOnShutdown([&](const SockException &ex){ player->setOnShutdown([&](const SockException &ex) {
--alivePlayerCnt; --alivePlayerCnt;
}); });
(*player)[RtspPlayer::kRtpType] = atoi(argv[4]); (*player)[RtspPlayer::kRtpType] = atoi(argv[4]);
...@@ -80,18 +80,19 @@ int main(int argc, char *argv[]){ ...@@ -80,18 +80,19 @@ int main(int argc, char *argv[]){
return playerCnt--; return playerCnt--;
}); });
AsyncTaskThread::Instance().DoTaskDelay(0, 1000, [&](){ AsyncTaskThread::Instance().DoTaskDelay(0, 1000, [&]() {
InfoL << "存活播放器个数:" << alivePlayerCnt.load(); InfoL << "存活播放器个数:" << alivePlayerCnt.load();
return true; return true;
}); });
EventPoller::Instance().runLoop(); EventPoller::Instance().runLoop();
playerList.clear(); AsyncTaskThread::Instance().CancelTask(0);
}
static onceToken token(nullptr, []() { static onceToken token(nullptr, []() {
WorkThreadPool::Instance(); WorkThreadPool::Instance();
UDPServer::Destory(); UDPServer::Destory();
AsyncTaskThread::Destory();
EventPoller::Destory(); EventPoller::Destory();
AsyncTaskThread::Destory();
Logger::Destory(); Logger::Destory();
}); });
return 0; return 0;
......
...@@ -150,6 +150,7 @@ int main(int argc,char *argv[]){ ...@@ -150,6 +150,7 @@ int main(int argc,char *argv[]){
requesterPost.reset(); requesterPost.reset();
//程序开始退出 //程序开始退出
EventPoller::Destory(); EventPoller::Destory();
AsyncTaskThread::Destory();
Logger::Destory(); Logger::Destory();
return 0; return 0;
} }
......
...@@ -89,8 +89,8 @@ int main(int argc, char *argv[]){ ...@@ -89,8 +89,8 @@ int main(int argc, char *argv[]){
static onceToken token(nullptr, []() { static onceToken token(nullptr, []() {
UDPServer::Destory(); UDPServer::Destory();
AsyncTaskThread::Destory();
EventPoller::Destory(); EventPoller::Destory();
AsyncTaskThread::Destory();
Logger::Destory(); Logger::Destory();
}); });
return 0; return 0;
......
...@@ -114,6 +114,7 @@ int domain(int argc, const char *argv[]) { ...@@ -114,6 +114,7 @@ int domain(int argc, const char *argv[]) {
//清理程序 //清理程序
EventPoller::Destory(); EventPoller::Destory();
AsyncTaskThread::Destory();
Logger::Destory(); Logger::Destory();
return 0; return 0;
} }
......
...@@ -121,6 +121,7 @@ int domain(int argc,const char *argv[]){ ...@@ -121,6 +121,7 @@ int domain(int argc,const char *argv[]){
//程序清理 //程序清理
EventPoller::Destory(); EventPoller::Destory();
AsyncTaskThread::Destory();
Logger::Destory(); Logger::Destory();
return 0; return 0;
} }
......
...@@ -250,8 +250,8 @@ int main(int argc,char *argv[]) { ...@@ -250,8 +250,8 @@ int main(int argc,char *argv[]) {
UDPServer::Destory(); UDPServer::Destory();
//TcpServer用到了WorkThreadPool //TcpServer用到了WorkThreadPool
WorkThreadPool::Destory(); WorkThreadPool::Destory();
AsyncTaskThread::Destory();
EventPoller::Destory(); EventPoller::Destory();
AsyncTaskThread::Destory();
Logger::Destory(); Logger::Destory();
return 0; return 0;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论