Exemple #1
0
UINT WINAPI LoadAccountRecords(LPVOID lpParameter)
{
	//InsertLogMsg(IDS_LOADACCOUNTRECORDS);


	//下面这一段是获取服务器相关消息的,暂时屏蔽掉
	//CRecordset *pRec = GetDBManager()->CreateRecordset();
	//pRec->Execute( "UPDATE TBL_ACCOUNT SET FLD_CERTIFICATION=0 WHERE FLD_CERTIFICATION >= 30" );
	//GetDBManager()->DestroyRecordset( pRec );
	//// ----------------------------------------------------------------------------------------

	//GAMESERVERINFO *pServerInfo;

	//pRec = GetDBManager()->CreateRecordset();
	//if ( pRec->Execute( "SELECT * FROM TBL_SERVERINFO" ) )
	//{
	//	while ( pRec->Fetch() )
	//	{			
	//		pServerInfo = new GAMESERVERINFO;
	//		if ( !pServerInfo )
	//			break;

	//		pServerInfo->index = atoi( pRec->Get( "FLD_SERVERIDX" ) );
	//		strcpy( pServerInfo->name, pRec->Get( "FLD_SERVERNAME" ) );
	//		strcpy( pServerInfo->ip,   pRec->Get( "FLD_SERVERIP" ) );
	//		pServerInfo->connCnt = 0;

	//		g_xGameServerList.AddNewNode( pServerInfo );
	//	}
	//}
	//GetDBManager()->DestroyRecordset( pRec );

	GAMESERVERINFO *pServerInfo;
	char szTmp[64];
	for ( PLISTNODE pNode = g_xGameServerList.GetHead(); pNode; pNode = g_xGameServerList.GetNext( pNode ) )
	{
		pServerInfo = g_xGameServerList.GetData( pNode );
		
		sprintf( szTmp, "%d,%s,", pServerInfo->index, pServerInfo->name );
		strcat( g_szServerList, szTmp );
	}
	// ----------------------------------------------------------------------------------------

	InitServerThreadForMsg();

	if (InitServerSocket(g_gcSock, &g_gcAddr, _IDM_GATECOMMSOCK_MSG, 5500, 1))
		SwitchMenuItem(TRUE);

	return 0L;
}
Exemple #2
0
UINT WINAPI LoadAccountRecords(LPVOID lpParameter)
{
	//获取服务器列表的
	GAMESERVERINFO *pServerInfo;
	char szTmp[64];
	for ( PLISTNODE pNode = g_xGameServerList.GetHead(); pNode; pNode = g_xGameServerList.GetNext( pNode ) )
	{
		pServerInfo = g_xGameServerList.GetData( pNode );
		
		sprintf( szTmp, "%d,%s,", pServerInfo->index, pServerInfo->name );
		strcat( g_szServerList, szTmp );
	}
	// ----------------------------------------------------------------------------------------

	//服务器线程
	InitServerThreadForMsg();

	ENGINE_COMPONENT_INFO info = g_SeverConfig.getLoginSrvInfo();

	if (InitServerSocket(g_gcSock, &g_gcAddr, _IDM_GATECOMMSOCK_MSG, info.intport?info.intport:5500, 1))
		SwitchMenuItem(TRUE);

	return 0L;
}
Exemple #3
0
LPARAM OnClientSockMsg(WPARAM wParam, LPARAM lParam)
{
	switch (WSAGETSELECTEVENT(lParam))
	{
		case FD_CONNECT:
		{
			if (CheckSocketError(lParam))
			{
				if (InitServerThreadForMsg())
				{
					g_nRemainBuffLen = 0;

					KillTimer(g_hMainWnd, _ID_TIMER_CONNECTSERVER);
					
					SetTimer(g_hMainWnd, _ID_TIMER_KEEPALIVE, 50000, (TIMERPROC)OnTimerProc);
//					SetTimer(g_hMainWnd, _ID_TIMER_KEEPALIVE, 1000, (TIMERPROC)OnTimerProc);

					InsertLogMsg(IDS_CONNECT_LOGINSERVER);
					SendMessage(g_hStatusBar, SB_SETTEXT, MAKEWORD(1, 0), (LPARAM)_TEXT("Connected"));

					//
					UINT			dwThreadIDForMsg = 0;
					unsigned long	hThreadForMsg = 0;

					g_ClientIoEvent = WSACreateEvent();

					//hThreadForMsg = _beginthreadex(NULL, 0, ClientWorkerThread, NULL, 0, &dwThreadIDForMsg);
				}
			}
			else
			{
				closesocket(g_csock);
				g_csock = INVALID_SOCKET;

				SetTimer(g_hMainWnd, _ID_TIMER_CONNECTSERVER, 10000, (TIMERPROC)OnTimerProc);
			}

			break;
		}
/*		case FD_CLOSE:
		{
			closesocket(g_csock);
			g_csock = INVALID_SOCKET;

			KillTimer(g_hMainWnd, _ID_TIMER_KEEPALIVE);
			
			SetTimer(g_hMainWnd, _ID_TIMER_CONNECTSERVER, 10000, (TIMERPROC)OnTimerProc);

			InsertLogMsg(IDS_DISCONNECT_LOGINSERVER);
			SendMessage(g_hStatusBar, SB_SETTEXT, MAKEWORD(1, 0), (LPARAM)_TEXT("Not Connected"));

			break;
		}
		case FD_READ:
		{
			char	szPacket[1024];
	
			int nRecv = recv((SOCKET)wParam, szPacket, sizeof(szPacket), 0);

			szPacket[nRecv] = '\0';

			ProcReceiveBuffer(szPacket, nRecv);

			break;
		}
*/	}

	return 0L;
}