zoukankan      html  css  js  c++  java
  • Resip获取本机IPV4地址

    在语音对讲注册时,需要绑定本机ip及端口,甚至于如果在手机端连接本机wifi,进行呼叫时,需要进行IPV4获取: 

    bool checkIPAddress(resip::Data& ipAddessCanUsed, const resip::Data& ipUserInputAddress)
    {
    	LOG_JNI_E("Insert checkIPAddress, ipUserInputAddress= %s!", ipUserInputAddress.c_str());
    	std::list<std::pair<resip::Data, resip::Data> > interfaces = resip::DnsUtil::getInterfaces();
    	LOG_JNI_E("Insert getInterfaces!");
    	if (!ipUserInputAddress.empty())
    	{
    		LOG_JNI_E("ipUserInputAddress is not empty!ipUserInputAddress is :%s", ipUserInputAddress.c_str());
    		CompareIPAddress compare(ipUserInputAddress);
    		if (std::find_if(interfaces.begin(), interfaces.end(), compare) != interfaces.end()) //find
    		{
    			ipAddessCanUsed = ipUserInputAddress;
    			return resip::DnsUtil::isIpV4Address(ipUserInputAddress);
    		}
    	}
    	//ip address invailed
    	LOG_JNI_E("ipUserInputAddress is empty!");
    	std::list<std::pair<resip::Data, resip::Data> >::iterator iter = interfaces.begin();
    	for (; iter != interfaces.end(); iter++)
    	{
    		if (resip::DnsUtil::isIpV4Address(iter->second))
    		{
    			ipAddessCanUsed = iter->second;
    			LOG_JNI_E("ipAddessCanUsed:%s", ipAddessCanUsed.c_str());
    			break;
    		}
    	}
    	return !ipAddessCanUsed.empty();
    }
  • 相关阅读:
    [小知识]如何查看IIS6应用程序池所对应的进程ID
    继续向大家汇报服务器情况
    CNBlogs DotText 1.0 Beta 2 重要更新
    垃圾广告记录
    Firefox 11正式发布
    Firefox 10正式发布
    Firefox 6 正式发布
    Firefox 5 正式发布
    Firefox 9正式发布
    Firefox 8正式发布
  • 原文地址:https://www.cnblogs.com/SunkingYang/p/11049109.html
Copyright © 2011-2022 走看看