当前位置: 首页>>代码示例>>C++>>正文


C++ CAddress::IsValid方法代码示例

本文整理汇总了C++中CAddress::IsValid方法的典型用法代码示例。如果您正苦于以下问题:C++ CAddress::IsValid方法的具体用法?C++ CAddress::IsValid怎么用?C++ CAddress::IsValid使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CAddress的用法示例。


在下文中一共展示了CAddress::IsValid方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: BitcoinNetMaintain

void CBitcoinServer::BitcoinNetMaintain()
{
	CChainManager& chain = CChainManager::CreateChainManagerInstance();
//	chain.LoadBitcoinBlockIndex();
	getAddrFromDb();
	getAddrFromDnsSeed();
	while(true)
	{
		if (!m_oneShot.empty())
		{
			std::string strDest;
			strDest = m_oneShot.front();
			m_oneShot.pop_front();
			SOCKET hSocket = INVALID_SOCKET;
			CAddress addr;
			if (openNetworkConnection(addr, strDest.c_str(), hSocket))
			{
				boost::shared_ptr<CBitcoinNode> node = createNode(hSocket, addr);
				if (node)
				{
					node->fOneShot = true;
					m_nodesManager.insert(node);
					node->PushVersion();
				}
			}
			else
			{
				m_oneShot.push_back(strDest);
			}
		}
		if (Bitcoin_MAX_CONNECTED_SOCKECT > m_nodesManager.getNodesSize())
		{
			do
			{
				SOCKET hSocket = INVALID_SOCKET;
				int nUnkBias = 10 + (int)min(m_nodesManager.getNodesSize(), Bitcoin_MAX_CONNECTED_SOCKECT)*10;
				CAddress addr = m_BitcoinAddrMan.Select(nUnkBias);
	            if (!addr.IsValid() || m_nodesManager.exist(addr) || IsLocal(addr))
	            {
	                break;
	            }
	            if (IsLimited(addr) || addr.GetPort() != Bitcoin_DEFAULT_PORT)
	            {
	            	break;
	            }
				if (openNetworkConnection(addr, NULL, hSocket))
				{
					boost::shared_ptr<CBitcoinNode> node = createNode(hSocket, addr);
					if (node)
					{
						m_nodesManager.insert(node);
						node->PushVersion();
					}
				}
			}while(false);
		}
		m_nodesManager.sockectSelect();
		m_nodesManager.clearDisconnectNodes();
		m_nodesManager.startSync();
	}
}
开发者ID:DSPay,项目名称:DSValue,代码行数:61,代码来源:CBitcoinServer.cpp


注:本文中的CAddress::IsValid方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。