GG (z innej beczki)

0

Robię komunikator internetowy, mam juz proste gui, teraz zabralem sie za plugin do oblsugi gg. No i tu jest problem - łączę sie z serwerem, dostaję pakiet GG_WELCOME (0x0001), odsyłam dane potrzebne do logowania i na tym moja sesja z serwerem sie kończy ;( Czasami tylko dostanę pakiet GG_DISCONNECTING (0x000b) lub GG_LOGIN_FAILED (0x0009), a GG_LOGIN_OK (0x0003) ujrzałem może tylko raz. Nie wiem czemu tak jest - dane są w 200% poprawne, format pakietów prawidłowy - bo w innym programie (mojego autorstwa), na którym "poznawałem" protokół gg, jest identyczny kod, identyczne format pakietów i tam się łączy za 1,2, 5 razem a w moim komunikatorze nie chce. Ktoś wie co może być nie tak?
Pozdro

// Dopisane: Może serwer gg sie schytrzył i założył bana na mój program ;)

0

Osobiście zrobiłbym to na bazie Jabbera i taka wtyczka od GG tylko odpowiednio by się komunikowała z transportem. Jest to o wiele prostsze, a do tego masz multum komunikatorów open-source, które obsługują Jabbera.

0

Ale mi nie chodzi o mechanizm tylko o to dlaczego w jednym programie chce się łączyć, a w drugim - z prawie identycznym kodem nie chce. A nad Jabber'em zastanawiałem sie wiele razy, moze przebuduje mechanizm wtyczek - w końcu niewiele jest zrobione z gg, więc nie będzie żal starego kodu...ale gui zostawie - podoba mi się i innym wspołtwórcom programu...

0

Ba, GUI nikt nie każe Ci zmieniać. Ale Jabber pozwoli Ci bez kombinowania obsłużyć praktycznie wszystkie sieci komunikatorów, dzięki wbudowanym w siebie transportom... A Ty zajmujesz siętylko jednym standardem...

0

Wiesz Adam, chyba mnie przekonałeś. Czyli moge zrobić obłsugę Jabber w programie, a inne protokoły przez pluginy + transporty?

0

Wiesz Adam, chyba mnie przekonałeś. Czyli moge zrobić obłsugę Jabber w programie, a inne protokoły przez pluginy + transporty?

Nie potrzeba pluginów - tylko tyransporty - to jedna z głównych zalet Jabbera.

0

Mam podobny problem.
Moj program laczy sie z gg, otrzymuje GG_WELCOME, odsyla pakiet logowania, dostaje GG_LOGIN_OK i tyle. Gdy probuje wyslac pakiet zmieniajacy status, z lista kontaktow, badz zwyklego PINGa, to serwer momentalnie mnie rozlacza. Pakiety sa na pewno poprawne.
Wie ktos moze, czy po otrzymaniu GG_LOGIN_OK trzeba wyslac jeszcze jakies konkretne dane serwerowi?

0

Zajrzyjcie do źródlo THGG, moze to wam pomoże rozwiązać (nie skopiować :P ) jakiś problem.

0

Zajrzyjcie do źródlo THGG, moze to wam pomoże rozwiązać (nie skopiować :P ) jakiś problem.

topic ten powstał przed jego powstaniem

0

Temat już można dawno zamknąć, no chyba że ktoś ma taki problem ;)
GG już opanowane na perfect, a i tak wole jabbera, komunikator chodzi aż miło :D . I nie róbcie ze mnie takiego lamusa, że myślicie, że będe kopiował cudzy kod i mówił że to mój bo sam nie umiem napisać. Ale ok.
Pozdro.

0

Heh, jesli walke z gg masz juz za soba, to bylbym zobowiazany, gdybys mogl mi troche pomoc. ;)
Lacze sie z serwerem gg, odbieram gg_header i gg_welcome. Wysylam gg_header z gg_login i otrzymuje wiadomosc, ze logowanie sie udalo, czyli gg_login_ok. Status sie zmienia na zaraz wracam i moge odbierac wiadomosci. Problem pojawia sie gdy wysylam jakikolwiek inny pakiet do serwera. Po wyslaniu naglowka typu gg_list_empty, w ktorym rozmiar dalszych danych ustawiam na zero, serwer mnie rozlacza. Nie mam pojecia o co chodzi. Gdy analizowalem przychodzace i wychodzace pakiety z portow mojego kompa za pomoca CommView, to wygladaly dokladnie tak samo, jak gdy logowalem sie przy uzyciu gg. Jedyna roznica jest ostatni pakiet, jaki otrzymuje od serwera - szesc bajtow o wartosci zero - to po nim nastepuje rozlaczenie.
Gdzie moze tkwic przyczyna?

0

Mam takie pytanko: Z czego korzystałeś do obsługi Jabbera pod Delphi? Czy pisałeś obsługę SSL od nowa czy jeszcze jakoś inaczej?

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