修复退出后,析构的问题
This commit is contained in:
parent
e2d548284a
commit
4a58610446
|
|
@ -106,6 +106,14 @@ onceToken token1([](){
|
||||||
|
|
||||||
class CMD_main;
|
class CMD_main;
|
||||||
|
|
||||||
|
TcpServer* shellSrv = 0;
|
||||||
|
TcpServer* rtspSrv = 0;
|
||||||
|
TcpServer* rtmpSrv = 0;
|
||||||
|
TcpServer* httpSrv = 0;
|
||||||
|
//如果支持ssl,还可以开启https服务器
|
||||||
|
TcpServer* httpsSrv = 0;
|
||||||
|
//支持ssl加密的rtsp服务器,可用于诸如亚马逊echo show这样的设备访问
|
||||||
|
TcpServer* rtspSSLSrv = 0;
|
||||||
static MediaServer_ServerState sServerState = MediaServerStartingUpState;
|
static MediaServer_ServerState sServerState = MediaServerStartingUpState;
|
||||||
const char* theXMLFilePath = 0;
|
const char* theXMLFilePath = 0;
|
||||||
char* theServerName = "";
|
char* theServerName = "";
|
||||||
|
|
@ -614,10 +622,10 @@ MediaServer_ServerState StartServer(CMD_main& cmd_main) {
|
||||||
|
|
||||||
//简单的telnet服务器,可用于服务器调试,但是不能使用23端口,否则telnet上了莫名其妙的现象
|
//简单的telnet服务器,可用于服务器调试,但是不能使用23端口,否则telnet上了莫名其妙的现象
|
||||||
//测试方法:telnet 127.0.0.1 9000
|
//测试方法:telnet 127.0.0.1 9000
|
||||||
TcpServer::Ptr shellSrv(new TcpServer());
|
shellSrv = new TcpServer();
|
||||||
TcpServer::Ptr rtspSrv(new TcpServer());
|
rtspSrv = new TcpServer();
|
||||||
TcpServer::Ptr rtmpSrv(new TcpServer());
|
rtmpSrv = new TcpServer();
|
||||||
TcpServer::Ptr httpSrv(new TcpServer());
|
httpSrv = new TcpServer();
|
||||||
|
|
||||||
shellSrv->start<ShellSession>(shellPort);
|
shellSrv->start<ShellSession>(shellPort);
|
||||||
rtspSrv->start<RtspSession>(rtspPort);//默认10554
|
rtspSrv->start<RtspSession>(rtspPort);//默认10554
|
||||||
|
|
@ -626,12 +634,12 @@ MediaServer_ServerState StartServer(CMD_main& cmd_main) {
|
||||||
httpSrv->start<HttpSession>(httpPort);//默认80
|
httpSrv->start<HttpSession>(httpPort);//默认80
|
||||||
|
|
||||||
//如果支持ssl,还可以开启https服务器
|
//如果支持ssl,还可以开启https服务器
|
||||||
TcpServer::Ptr httpsSrv(new TcpServer());
|
httpsSrv = new TcpServer();
|
||||||
//https服务器,支持websocket
|
//https服务器,支持websocket
|
||||||
httpsSrv->start<HttpsSession>(httpsPort);//默认443
|
httpsSrv->start<HttpsSession>(httpsPort);//默认443
|
||||||
|
|
||||||
//支持ssl加密的rtsp服务器,可用于诸如亚马逊echo show这样的设备访问
|
//支持ssl加密的rtsp服务器,可用于诸如亚马逊echo show这样的设备访问
|
||||||
TcpServer::Ptr rtspSSLSrv(new TcpServer());
|
rtspSSLSrv = new TcpServer();
|
||||||
rtspSSLSrv->start<RtspSessionWithSSL>(rtspsPort);//默认322
|
rtspSSLSrv->start<RtspSessionWithSSL>(rtspsPort);//默认322
|
||||||
|
|
||||||
installWebApi();
|
installWebApi();
|
||||||
|
|
@ -660,6 +668,14 @@ void RunServer() {
|
||||||
|
|
||||||
unInstallWebApi();
|
unInstallWebApi();
|
||||||
unInstallWebHook();
|
unInstallWebHook();
|
||||||
|
|
||||||
|
if (shellSrv) delete shellSrv; shellSrv = 0;
|
||||||
|
if (rtspSrv) delete rtspSrv; rtspSrv = 0;
|
||||||
|
if (rtmpSrv) delete rtmpSrv; rtmpSrv = 0;
|
||||||
|
if (httpSrv) delete httpSrv; httpSrv = 0;
|
||||||
|
if (httpsSrv) delete httpsSrv; httpsSrv = 0;
|
||||||
|
if (rtspSSLSrv) delete rtspSSLSrv; rtspSSLSrv = 0;
|
||||||
|
|
||||||
//休眠1秒再退出,防止资源释放顺序错误
|
//休眠1秒再退出,防止资源释放顺序错误
|
||||||
InfoL << "程序退出中,请等待...";
|
InfoL << "程序退出中,请等待...";
|
||||||
sleep(1);
|
sleep(1);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue