void CConnectClient::ClinetClose(EM_s2s& ems2s) { m_ems2s = ems2s; //msg_queue()->deactivate(); //如果对象已经在外面释放,则不需要再次回调 if(ems2s == S2S_INNEED_CALLBACK) { SetClientMessage(NULL); } shutdown(); }
void CProConnectClient::ClientClose(EM_s2s& ems2s) { if(this->handle() != ACE_INVALID_HANDLE) { m_ems2s = ems2s; //如果对象已经在外面释放,则不需要再次回调 if(ems2s == S2S_INNEED_CALLBACK) { SetClientMessage(NULL); } ACE_OS::shutdown(this->handle(), SD_SEND); ACE_OS::closesocket(this->handle()); this->handle(ACE_INVALID_HANDLE); } }