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


C++ LPDESC::GetHandle方法代码示例

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


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

示例1: DestroyDesc

void DESC_MANAGER::DestroyDesc(LPDESC d, bool bEraseFromSet)
{
    if (bEraseFromSet)
        m_set_pkDesc.erase(d);

    if (d->GetHandshake())
        m_map_handshake.erase(d->GetHandshake());

    if (d->GetHandle() != 0)
        m_map_handle.erase(d->GetHandle());
    else
        m_set_pkClientDesc.erase((LPCLIENT_DESC) d);

    // Explicit call to the virtual function Destroy()
    d->Destroy();

    M2_DELETE(d);
    --m_iSocketsConnected;
}
开发者ID:qq670028,项目名称:Server,代码行数:19,代码来源:desc_manager.cpp

示例2: AcceptDesc

LPDESC DESC_MANAGER::AcceptDesc(LPFDWATCH fdw, socket_t s)
{
	socket_t                    desc;
	LPDESC						newd;
	static struct sockaddr_in   peer;
	static char					host[MAX_HOST_LENGTH + 1];

	if ((desc = socket_accept(s, &peer)) == -1)
		return NULL;

	strlcpy(host, inet_ntoa(peer.sin_addr), sizeof(host));

	if (g_bAuthServer)
	{
		if (IsBanIP(peer.sin_addr))
		{
			sys_log(0, "connection from %s was banned.", host);
			socket_close(desc);
			return NULL;
		}
	}

	if (!IsValidIP(admin_ip, host)) // admin_ip 에 등록된 IP 는 최대 사용자 수에 구애받지 않는다.
	{
		if (m_iSocketsConnected >= MAX_ALLOW_USER)
		{
			sys_err("max connection reached. MAX_ALLOW_USER = %d", MAX_ALLOW_USER);
			socket_close(desc);
			return NULL;
		}
	}

	newd = M2_NEW DESC;
	crc_t handshake = CreateHandshake();

	if (!newd->Setup(fdw, desc, peer, ++m_iHandleCount, handshake))
	{
		socket_close(desc);
		M2_DELETE(newd);
		return NULL;
	}

	m_map_handshake.insert(DESC_HANDSHAKE_MAP::value_type(handshake, newd));
	m_map_handle.insert(DESC_HANDLE_MAP::value_type(newd->GetHandle(), newd));

	m_set_pkDesc.insert(newd);
	++m_iSocketsConnected;
	return (newd);
}
开发者ID:ronniwe,项目名称:Varios,代码行数:49,代码来源:desc_manager.cpp


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