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; }
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; }
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; }