class.tlen.php

tech • 271 słów • 2 minuty czytania

Trochę się pobawiłem tą klasą do Jabbera i zabrałem się do kombinowania nad obsługą protokołu Tlena. Wszystko byłoby fajnie gdyby nie szyfrowane połączenia z serwerem, czego nie mogłem rozgryźć. Ale rozmawiając na słynnym pokoju BT (Bar Tlenowy) dowiedziałem się, że TREN coś lekko zmodyfikował klasę Jabbera, aby można było połączyć się z serwerem Tlena. No i 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 s i v zależy rodzaj zestawianego połączenia. Zmienna t jest opcjonalna, określa ona wersje klienta, a v bliżej nie określona.

Mając połączenie z serwerem, reszta już powinna pójść gładko. Do kodowania hasła wykorzystam algorytm z libtlen2 (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 problemem 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 mi 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 zakonkurować z oficjalną wersją… :)

Komentarze (4)

Wicko
20060125-225948-wicko

Ciekawe, ciekawe ;-) jest jeszcze WebTlen ;p ( to od o2 to JTlen )

TREN
20060126-002758-tren

ja ci dam ‘Tren’ :P

Grom
20060126-012839-grom

No to super, napisz klase a ja sie nia pobawie. Moze uda sie nawet napisac jako taki komunikator na linuxa :]

Grom
20060306-004956-grom

No pisz ta klase wkoncu bo sie podniecam a tu niwidu nislychu :P

Dodaj komentarz

/dozwolony markdown/

/nie zostanie opublikowany/