Тема: EGTS протокол
Здравствуйте. Скачал доки и валидатор EGTS.
Не могу понять, как пройти авторизацию.
В файле NTCPIpClient.cpp в функции UINT NTCPIPClientThread::ThreadProc(LPVOID lpBuf)
добавил код, ответы идут но не те. Не понимаю, что исправить. Есть ли у кого валидатор с Teledata services.
....
if (bShowServiceLayer)
{
printf ("EGTS Service Layer:\n"
"---------------------\n"
" Validating result - %u (%s%s)\n\n",
iParsRC,
iParsRC&EGTS_PC_ERROR_MASK?"ERROR: ":"",
EGTS::EGTS_RC_Description(iParsRC));
if (!(iParsRC&EGTS_PC_ERROR_MASK))
{
showServiceLayer(cSL);
//if (cSL.SFRCS)
{
EGTS::Packet *ab = cSL.getPacket();
if (ab && ab->cSLRecords.size())
{
EGTS::SR_list_t::const_iterator itrs=ab->cSLRecords.begin();
EGTS::SR_list_t::const_iterator itrse=ab->cSLRecords.end();
while (itrs!=itrse)
{
if (itrs->lSubrecords.size())
{
EGTS::SSbR_list_t::const_iterator sitrs= itrs->lSubrecords.begin();
EGTS::SSbR_list_t::const_iterator sitrse= itrs->lSubrecords.end();
while (sitrs!=sitrse)
{
if (itrs->lSubrecords.size())
{
if (sitrs->SRT == EGTS_SR_AUTH_TERM_IDENTITY)
{
EGTS::ServiceLayer ccSL;
ccSL = cSL;
ccSL.setPacketType(0);
EGTS::bytestream bs;
ccSL.setPacketType(0);
EGTS::Packet * pl = ccSL.getPacket();
EGTS::Service_Record hh;
EGTS::CreatePacket(bs,cTH,ccSL);
for (int r = 0; r < bs.getlen(); r++)
printf("%.2X",bs.getdata()[r]);
m_lpSock->SendReqToServer((LPVOID*)bs.getdata(),sizeof(char)*bs.getlen(),1000);
}
++sitrs;
}
}
}
++itrs;
}
}
}