class.tlen.php

Trochę się pobawiłem tą klasą Jabbera i zabrałem się do kombinowania nad obsługą protokołu Tlena. Wszystko fajnie byłoby gdyby nie szyfrowane połączenia z serwerem, czego nie mogłem rozgryźć. Ale rozmawiając na słynnym pokoju BT dowiedziałem się, że Tren coś lekko zmodyfikował klasę Jabbera, aby można było połączyć się z serwerem Tlena.

Teraz wiem, że możliwe jest zestawienie nieszyfrowanego połączenia z serwerem.

Standardowe zestawienie połączenia (szyfrowane) rozpoczyna się tak:

<s s="1" v="7" t="05170507">

Następnie serwer przesyła klucze do szyfrowania połączenia, klient odpowiada, po czym następuje logowanie do sieci.

Nieszyfrowane połączenie, różni się nieznacznie:

<s v="3" t="05170507">

Po wysłaniu takiego pakietu, serwer odpowie, że poprawnie się połączono i dołączy zmienną id potrzebną do zakodowania hasła.

Wyraźnie widać, że od wartości wartości s i v zależy rodzaj zestawianego połączenia. Zmienna t jest opcjonalna, określa ona wersje klienta, a s bliżej nie określona.

Mając połączenie z serwerem, reszta już powinna iść gładko, a do kodowania hasła wykorzystam algorytm z libtlena2 (niezależnej biblioteki obsługującej protokół Tlena), który tylko należy przenieść z C++ do PHP. Teraz nie powinno być większych problemów nad dalszą implementacją klasy obsługującej ten protokół ;)

Jedynym małym problemikiem jest na razie czas, ale to za niedługo powinno się zmienić. Wtedy pomysł napisania klasy obsługującej Tlena przerodzi się w nowy projekt class.tlen.php :) Mam nadzieję, że gdy uda się to wykonać, to klasa ta znajdzie szersze uznanie i ciekawe wykorzystanie.

Myślę też nad czymś podobnym w Javie oraz javowym kliencie do Tlena. Co prawda istnieje oficjalna wersja Tlena napisana w Javie (jTlen), ale nie obsługuje ona czatów. Mam więc szansę na stworzenie czegoś co może z zakonkurować z oficjalną wersją... :)

4 przemyślenia nt. „class.tlen.php”

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *