problema sysser SEQUENCE

yonr1

Membru de onoare
Înscris
27 Dec 2018
Mesaje
116
*Problemă/Întrebare: am facut acel fix si degeaba, tot primes acel sysser

*Syserr:
SYSERR: Apr 16 10:58:10 :: Process: UNKNOWN HEADER: 189, LAST HEADER: 0(0), REMAIN BYTES: 147, fd: 20
SYSERR: Apr 16 10:58:11 :: Analyze: Handshake phase does not handle packet 71 (fd 20)
SYSERR: Apr 16 10:58:11 :: Process: SEQUENCE 2e43a100 mismatch 0xaf != 0x20 header 71
SYSERR: Apr 16 10:58:11 :: Process: SEQUENCE_LOG [UNKNOWN]-------------
[071 : 0xaf]

SYSERR: Apr 16 10:58:11 :: Analyze: Handshake phase does not handle packet 72 (fd 20)
SYSERR: Apr 16 10:58:11 :: Process: SEQUENCE 2e43a100 mismatch 0xaf != 0xa header 72
SYSERR: Apr 16 10:58:11 :: Process: SEQUENCE_LOG [UNKNOWN]-------------
[072 : 0xaf]
 

Yumi

Fondator Infomanii
Membru personal
Înscris
11 Oct 2017
Mesaje
1.542
salut, trebuie sa rescrii sequence.
 

yonr1

Membru de onoare
Înscris
27 Dec 2018
Mesaje
116
Salut, problema e ca nu am facut mofificari sau ceva ce tine de sequence
 

yonr1

Membru de onoare
Înscris
27 Dec 2018
Mesaje
116
input.cpp

if (m_pPacketInfo->IsSequence(bHeader))
{
BYTE bSeq = lpDesc->GetSequence();
BYTE bSeqReceived = *(BYTE *) (c_pData + iPacketLen - sizeof(BYTE));

if (bSeq != bSeqReceived)
{
sys_err("SEQUENCE %x mismatch 0x%x != 0x%x header %u", get_pointer(lpDesc), bSeq, bSeqReceived, bHeader);

LPCHARACTER ch = lpDesc->GetCharacter();

char buf[1024];
int offset, len;

offset = snprintf(buf, sizeof(buf), "SEQUENCE_LOG [%s]-------------\n", ch ? ch->GetName() : "UNKNOWN");

if (offset < 0 || offset >= (int) sizeof(buf))
offset = sizeof(buf) - 1;

for (size_t i = 0; i < lpDesc->m_seq_vector.size(); ++i)
{
len = snprintf(buf + offset, sizeof(buf) - offset, "\t[%03d : 0x%x]\n",
lpDesc->m_seq_vector.hdr,
lpDesc->m_seq_vector.seq);

if (len < 0 || len >= (int) sizeof(buf) - offset)
offset += (sizeof(buf) - offset) - 1;
else
offset += len;
}

snprintf(buf + offset, sizeof(buf) - offset, "\t[%03d : 0x%x]\n", bHeader, bSeq);
sys_err("%s", buf);

lpDesc->SetPhase(PHASE_CLOSE);
return true;
}
else
{
lpDesc->push_seq(bHeader, bSeq);
lpDesc->SetNextSequence();
//sys_err("SEQUENCE %x match %u next %u header %u", lpDesc, bSeq, lpDesc->GetSequence(), bHeader);
}
}
 

yonr1

Membru de onoare
Înscris
27 Dec 2018
Mesaje
116
puteti da T/C am rezolvat
in input.cpp modificati urmatoare linie,

if (m_pPacketInfo->IsSequence(bHeader))

cu asta

if (m_pPacketInfo->IsSequence(bHeader))
{
BYTE bSeq = lpDesc->GetSequence();
BYTE bSeqReceived = *(BYTE *) (c_pData + iPacketLen - sizeof(BYTE));

if (bSeq != bSeqReceived)
return true;
else
{
lpDesc->push_seq(bHeader, bSeq);
lpDesc->SetNextSequence();
}
}
 
Ultima editare:
Sus Jos