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ą... :)
Ciekawe, ciekawe ;-) jest jeszcze WebTlen ;p ( to od o2 to JTlen )
ja ci dam ‚Tren’ :P
No to super, napisz klase a ja sie nia pobawie. Moze uda sie nawet napisac jako taki komunikator na linuxa :]
pozdro…
No pisz ta klase wkoncu bo sie podniecam a tu niwidu nislychu :P