void XTcpClientImpl::OnMessage(rtc::Message* msg)
{
	if (msg->message_id == 0)
	{
		DoConnect();
	}
	else if (msg->message_id == 1)
	{
		DoResolver();
	}
    else if(msg->message_id == 1001)
    { //1001 try to reconnect
        if(Status()!=CONNECTED) {
#ifdef WEBRTC_ANDROID
            LOGI("XTcpClientImpl::OnMessage receive 1001, reconnect after 2s...\n");
#else
            LOG(WARNING) << "XTcpClientImpl::OnMessage receive 1001, reconnect after 2s...";
#endif
            rtc::Thread::Current()->PostDelayed(kReconnectDelay, this, 0);
        }
    }
}
Exemplo n.º 2
0
		void Resolver::HandleResolveTimeout()
		{
			if (false == is_resolving_) return;

			LOG(__INFO, "test", "HandleResolveTimeout failed times:"<<failed_times_<<url_);

			is_resolving_ = false;

			if (failed_times_ >= 0)
			{
				if( handler_)
				{
					MainThread::IOS().post(
						boost::bind( &IResolverListener::OnResolverFailed, handler_, 4)
						);
				}			
			}
			else
			{
				failed_times_++;
				DoResolver();
			}
		}