HTTPSessionInterface::~HTTPSessionInterface() { // If the input socket is != output socket, the input socket was created dynamically if (fInputSocketP != fOutputSocketP) delete fInputSocketP; char remoteAddress[20] = { 0 }; StrPtrLen theIPAddressStr(remoteAddress, sizeof(remoteAddress)); QTSS_GetValue(this, EasyHTTPSesRemoteAddrStr, 0, static_cast<void*>(theIPAddressStr.Ptr), &theIPAddressStr.Len); char msgStr[2048] = { 0 }; switch (fSessionType) { case EasyCameraSession: this->UnRegDevSession(); qtss_snprintf(msgStr, sizeof(msgStr), "EasyCameraSession offline from ip[%s], device_serial[%s]", remoteAddress, device_->serial_.c_str()); break; case EasyNVRSession: this->UnRegDevSession(); qtss_snprintf(msgStr, sizeof(msgStr), "EasyNVRSession offline from ip[%s]", remoteAddress); break; case EasyHTTPSession: qtss_snprintf(msgStr, sizeof(msgStr), "EasyHTTPSession offline from ip[%s]", remoteAddress); break; default: qtss_snprintf(msgStr, sizeof(msgStr), "Unknown session offline from ip[%s]", remoteAddress); break; } QTSServerInterface::LogError(qtssMessageVerbosity, msgStr); }
CServiceSession::~CServiceSession() { char remoteAddress[20] = {0}; StrPtrLen theIPAddressStr(remoteAddress,sizeof(remoteAddress)); QTSS_GetValue(this, qtssRTSPSesRemoteAddrStr, 0, (void*)theIPAddressStr.Ptr, &theIPAddressStr.Len); char msgStr[2048] = { 0 }; qtss_snprintf(msgStr, sizeof(msgStr), "session offline from ip[%s]",remoteAddress); QTSServerInterface::LogError(qtssMessageVerbosity, msgStr); // Invoke the session closing modules QTSS_RoleParams theParams; theParams.rtspSessionClosingParams.inRTSPSession = this; //会话断开时,调用模块进行一些停止的工作 for (UInt32 x = 0; x < QTSServerInterface::GetNumModulesInRole(QTSSModule::kRTSPSessionClosingRole); x++) (void)QTSServerInterface::GetModule(QTSSModule::kRTSPSessionClosingRole, x)->CallDispatch(QTSS_RTSPSessionClosing_Role, &theParams); fLiveSession = false; //used in Clean up request to remove the RTP session. this->CleanupRequest();// Make sure that all our objects are deleted //if (fSessionType == qtssServiceSession) // QTSServerInterface::GetServer()->AlterCurrentServiceSessionCount(-1); }