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


C++ UserSession::Update方法代码示例

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


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

示例1: ConnectServer

// 重连控制连接还是数据连接
void PasClient::ConnectServer( UserSession &user, bool tcp )
{
	// 更新最后一次登陆的时间
	user.Update( PCC_USER_LOGIN, tcp ) ;

	PccUser &pccuser = user.GetUser( tcp ) ;
	// 如果TCP连接
	if ( tcp ) {
		pccuser._fd = _tcp_handle.connect_nonb( pccuser._srv_ip.c_str(), pccuser._srv_port, 10 ) ;
		if ( pccuser._fd > 0 ) {
			pccuser.SetWaitResp() ;
		}
	} /**else { // 数据通道
		pccuser._fd = _udp_handle.connect_nonb( pccuser._srv_ip.c_str(), pccuser._srv_port, 10 ) ;
		if ( pccuser._fd == -1 )
			return ;
		pccuser.SetWaitResp() ;
	}*/

	PccUser &udpuser = user.GetUser( false ) ;
	udpuser.SetOffline() ;
	if(udpuser._fd != NULL) {
		CloseSocket(udpuser._fd);
		udpuser._fd = NULL;
	}

	// 通过TCP通道发送注册数据通道信息
	if ( ! tcp ) {
		PccUser &tcpuser = user.GetUser(true) ;

		char buf[1024] = {0};
		sprintf( buf, "SZ P %s|%s|%d\r\n", user.GetKey(true), _ip.c_str(), _port ) ;
		// 发送数据通道连接请求
		SendData( tcpuser._fd, buf, strlen(buf) ) ;

		//OUT_SEND( pccuser._srv_ip.c_str(), pccuser._srv_port, pccuser._username.c_str(), "fd %d, Tcp fd %d Send %s",
		//		pccuser._fd->_fd, tcpuser._fd->_fd, buf ) ;
	}
}
开发者ID:caocf,项目名称:workspace-kepler,代码行数:40,代码来源:pasclient.cpp

示例2: OvertimeClear

BOOL LoginServer::OvertimeClear( DWORD dwDeltaTick )
{
	printf(" [ LoginServer::OvertimeClear dwDeltaTick= %d ] \n", dwDeltaTick);
	printf(" [ LoginServer::OvertimeClear size = %d ] \n", m_lsOvertimeTable.size());
	
	WORD wIndex = 0;
	UserSession * pSession = NULL;
	for (int i = 0; i< m_lsOvertimeTable.size(); ++i) {	
		wIndex = m_lsOvertimeTable.front();
		if ( wIndex==0 ) {
			m_lsOvertimeTable.pop_front();
			continue;
		}		
		printf(" [ LoginServer::OvertimeClear wIndex = %d ] \n", wIndex);
		pSession = m_pUserSession[wIndex];
		if ( pSession != NULL ) {
			printf(" [ LoginServer::OvertimeClear pSession = %d ] \n", pSession);
			if ( pSession->Update( dwDeltaTick ) ) {
				pSession->CloseSession();
			}
		}
		m_lsOvertimeTable.pop_front();
	}
}
开发者ID:syalr,项目名称:login_public,代码行数:24,代码来源:LoginServer.cpp


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