Files
2026-11-07 13:30:45 +07:00

116 lines
2.9 KiB
C++

#include "StdAfx.h"
#include "Protocol.h"
#include "network/SP2Packet.h"
#include "ioTestQuerySend2.h"
#include "LS_TTBotDlg.h"
ioTestQuerySend2::ioTestQuerySend2(void)
{
Init();
}
ioTestQuerySend2::~ioTestQuerySend2(void)
{
Destroy();
}
void ioTestQuerySend2::Init()
{
AddState(TESTSTATE_NONE, TESTSTATE_CONNECT);
AddState(TESTSTATE_CONNECT, TESTSTATE_SEND);
AddState(TESTSTATE_SEND, TESTSTATE_SEND);
//m_iDBAgentThreadID = 0;
}
void ioTestQuerySend2::Destroy()
{
LOG("disconnected, %s", m_IP);
}
void ioTestQuerySend2::Run()
{
int newState = GetNextState();
switch(newState)
{
case TESTSTATE_CONNECT :
if(DoConnect())
LOG("connected, %s", m_IP);
else
LOG("connect failed");
break;
case TESTSTATE_SEND:
{
/////////////////////////////////////////////////////////////////////////
// Test 2
const int queryId = 2003;
cSerialize v_FT;
vVALUETYPE v_VT;
v_FT.Write( (uint32)30 );
v_FT.Write( (uint32) rand() % 35000 );
// 기본 정보
v_VT.push_back( GetValueType( vLONG, sizeof(LONG) ) ); //길드 인덱스
v_VT.push_back( GetValueType( vChar, GUILD_NAME_NUM_PLUS_ONE ) ); //길드 이름
v_VT.push_back( GetValueType( vChar, GUILD_TITLE_NUMBER_PLUS_ONE ) );//길드 소개
v_VT.push_back( GetValueType( vLONG, sizeof(LONG) ) ); //길드 마크
v_VT.push_back( GetValueType( vLONG, sizeof(LONG) ) ); //길드 포인트
v_VT.push_back( GetValueType( vLONG, sizeof(LONG) ) ); //길드 인원 제한
v_VT.push_back(GetValueType(vTimeStamp,sizeof(DBTIMESTAMP))); //길드 생성일
v_VT.push_back( GetValueType( vLONG, sizeof(LONG) ) ); //길드 현재 인원
v_VT.push_back( GetValueType( vLONG, sizeof(LONG) ) ); //길드 금일 획득 포인트
v_VT.push_back( GetValueType( vLONG, sizeof(LONG) ) ); //길드 레벨
v_VT.push_back( GetValueType( vLONG, sizeof(LONG) ) ); //길드 진영
// 길드 전적
v_VT.push_back( GetValueType( vLONG, sizeof(LONG) ) ); //승
v_VT.push_back( GetValueType( vLONG, sizeof(LONG) ) ); //패
v_VT.push_back( GetValueType( vLONG, sizeof(LONG) ) ); //킬
v_VT.push_back( GetValueType( vLONG, sizeof(LONG) ) ); //데스
CQueryData query_data;
query_data.SetData(
++m_iDBAgentThreadID,
_RESULT_CHECK,
DBAGENT_GUILD_INFO_GET,
_SELECTEX1DB,
queryId,
v_FT,
v_VT );
SP2Packet kPacket( DTPK_QUERY );
kPacket << query_data;
for( int i = 0 ; i < 20 ; ++i )
{
m_socketTCP.SendPacket( kPacket );
}
}
break;
case TESTSTATE_DISCONNECT :
if(DoDisconnect())
LOG("disconnected, %s", m_IP);
else
LOG("disconnected failed");
break;
default:
return;
}
m_current = newState;
}
ValueType ioTestQuerySend2::GetValueType(VariableType nType,int len)
{
ValueType vt;
vt.type = nType;
vt.size = len;
return vt;
}