Naprawa THGG..

0

Witam.. od niedawana.. probuje.. naprawic THGG napisanego przez Deti .. /odnosnie recv msg..
i tak na wstepie poprzepisywalem pare rzeczy..
|
V

procedure TTCPThread.Execute;
begin
//FreeOnTerminate := True;
 while (not Terminated) do
   try



    PacketType := Form1.TCP.ReadInteger(False);
    PacketLength := Form1.TCP.ReadInteger(False);
    Form1.Memo1.Lines.Add('Typ pakietu: ' +Inttohex(PacketType,2)+'  Rozmiar pakietu: '+inttostr(PacketLength));

 //   if Boolean(PacketType) then
 // begin

  case PacketType of
C_INPUT_LOGIN_FAILED      : Form1.Memo1.Lines.Add('Niezalogowano..');
C_GG_NEED_EMAIL           : Form1.Memo1.Lines.add('Potrzebny E-MAIL!');
C_INPUT_DISCONNECTING     : Form1.Memo1.Lines.Add('Rozlaczono...');

    C_INPUT_CONNECTED:
     begin
         Form1.Memo1.Lines.Add('Polaczono..');
         Form1.OutPacketLogin(Form1.TCP.ReadInteger(False))
     end;

    C_INPUT_LOGIN_OK:
    begin
         Form1.Memo1.Lines.Add('Zalogowano...');
         Header.PacketTypes := C_OUTPUT_EMPTY_LIST;
         Header.PacketLengths := 0;
         Form1.TCP.WriteBuffer(Header, SizeOf(Header));
    end;

    C_INPUT_MESSAGE_INCOMING:
    begin
         Form1.TCP.ReadBuffer(Input_Message, PacketLength);
         Form1.Memo1.Lines.Add('Msg: ' + Input_Message.Msg);
    end;

       end;
// end;

    PacketType := 0;
    PacketLength := 0;

  except
  on Exception do
     Continue;
  end;
 end;


Dostaje :

Typ pakietu: 01  Rozmiar pakietu: 4
Polaczono..
Seed: -1370250321
Typ pakietu: 03  Rozmiar pakietu: 1
Zalogowano...
Typ pakietu: 111F  Rozmiar pakietu: 0
Typ pakietu: A00  Rozmiar pakietu: 5120
Typ pakietu: 338C1500  Rozmiar pakietu: 1954561280
Typ pakietu: FC4F7101  Rozmiar pakietu: 2121
Typ pakietu: 64736100  Rozmiar pakietu: 2560
Typ pakietu: 1300  Rozmiar pakietu: 864818432
Typ pakietu: 74838400  Rozmiar pakietu: -61902335
Typ pakietu: 849  Rozmiar pakietu: 7829248
Typ pakietu: 0A  Rozmiar pakietu: 20
Msg: zxc
Typ pakietu: 0A  Rozmiar pakietu: 20
Msg: asd
Typ pakietu: 0A  Rozmiar pakietu: 19
Msg: ad<code>


no i dziwia mnie wlasnie te pakiety.. ktore dostaje na poczatku.. nie wiem czym sa one spowoadowane:
moze GG wprowadzilo jakies pakiety kontrolne ktore sprawdzaja.. czy klient jest ich autorstawa.. 
hmm.. ale dziwne  bo po paru  dziwacznych.. pakietach dostaje potem normalne odp..

co o tym myslicie?..


0

Typ pakietu: 03 Rozmiar pakietu: 1
Zalogowano...

Od tej linii w dół coś jest nie tak. Późniejsze typy i rozmiary nie są prawidłowe - to znaczy, to co wydaje się być typem / rozmiarem w rzeczywistości jest kolejną porcją danych (być może z poprzedniego pakietu). Brak synchronizacji THGG z tym co wysyła ci serwer GG.

Aby naprawić należało by ściągnąć sniffera pakietów internetowych i zdiagnozować sprawę.

0

Łatwiej wykorzystać to: http://toxygen.net/libgadu/protocol/ .

0

Miło by było jakbyś wypuścił do neta poprawkę.

0
mar_je napisał(a)

Łatwiej wykorzystać to: http://toxygen.net/libgadu/protocol/ .

hmm. czy latwiej.. jedno i to samo.. nawet wiecej pisania.. pod protokol 8.0 ..
powiem wam ze.. daje sobie chyba spokoj.. to nie na moje mozliwosci : D ..
sprobuje moze jakies biblioteki tlena.. czy innej..

chociaz ciekawi mnie gdzie tkwi blad..

0

Ja bym zaczął od zapoznania się ze słownikiem ortograficznym.

1 użytkowników online, w tym zalogowanych: 0, gości: 1