[Java] Logowanie do sieci Gadu-Gadu

Witam. Jestem w trakcie pisania klas do obsługi sieci Gadu-Gadu w Javie. Niestety pojawił się problem. Oto czynności, które wykonuję:

  1. Przez HTTP pobieram IP i port serwera, z którym muszę się łączyć.

  2. Tworzę obiekt Socket i za jego pomocą łączę się z serwerem.

  3. Odbieram pakiet typu GG_WELCOME, odczytuję seed’a i hashuję hasło.

  4. Wysyłam pakiet GG_LOGIN80.

  5. Serwer odpowiada pakietem GG_LOGIN_OK.

Wynika z tego, że powinienem być zalogowany. Problem w tym, że nie jestem. Nie wyrzuca mnie z innych komunikatorów, opis i status nie zmienia się na ustawiony w pisanym przeze mnie programie. Testowałem z kumplem i wyłączałem komunikator, po czym łączyłem się z mojego programu. Niestety kumpel nie był w stanie mnie zobaczyć. Pomimo tego, że serwer stwierdził, że zalogowałem się, nie byłem zalogowany. Dlaczego tak się może dziać?

W razie potrzeby mogę wrzucić kod.

W sieci jest dostępny komponent dla delphi THGG, razem z plikami źródłowymi, porównaj swoje logowanie z tym co w THGG.