..:: Protokó³ IRC ::..

Protokó³ IRC (Internet Relay Chat) to kolejny z opisywanych przez nas protoko³ów tekstowych u¿ywanych w internecie. Jego nazwa mówi sama za siebie - jest on u¿ywany g³ównie w sieci IRCnet (i w sieciach pochodnych). Daemon us³ugi IRC uruchomiony jest zwykle na porcie numer 6667.

Lista polskich serwerów irc:
  • warszawa.irc.pl
  • krakow.irc.pl
  • lublin.irc.pl
  • poznan.irc.pl
  • polska.irc.pl (to alias)

Nawi±zywanie po³±czenia

Jako ¿e sieæ IRC dzia³a w oparciu o protokó³ tekstowy, z wybranym serwerem ³±czymy siê przy u¿yciu programu telnet, pisz±c:

telnet jakis_host.irc.pl 6667


Po nawi±zaniu po³±czenia

Pierwsz± czynno¶ci± jak± musimy wykonaæ po po³±czeniu jest identyfikacja, czyli podanie naszego hosta, nicka, nazwy u¿ytkownika, oraz prawdziwego imienia (to siê tylko tak nazywa, mo¿emy tu podaæ co chcemy). Piszemy wiêc poni¿sze dwie linijki:


Reklama


user nazwa_u¿ytkownika nazwa_hosta nazwa_serwera :prawdziwe_dane
nick nasz_pseudnonim
Tak bedzie wygladala informacja o nas po wej¶ciu na kana³:
-!- nasz_pseudonim [nazwa_u¿ytkownika@nazwa_hosta]
-!-  ircname  : prawdziwe_dane
-!-  server   : warszawa.irc.pl [ICM Warszawa, Poland]

Jako nazwe serwera wg. RFC powinni¶my podaæ nazwe serwera IRC z którym nawi±zujemy po³±czenie (troche to dziwne). Nazwa hosta mo¿e byæ naszym vhostem, o ile nasz system obs³uguje vhosty - w przeciwnym razie zostanie nam przyporz±dkowana nazwa hosta odpowiadaj±ca najczêsciej naszemu dostawcy internetu, czyli w moim przypadku bêdzie to: *.neoplus.adsl.tpnet.pl

Nazwa u¿ytkownika w przypadku domowych komputerów mo¿e byæ zwykle dowolna, lecz je¶li korzystamy z konta shellowego na którym zainstalowany jest daemon us³ugi ident, to zmuszeni jeste¶my do u¿ywania nazwy u¿ytkownika odpowiadaj±cej naszemu loginowi.

I tak oto zostali¶my po³±czeni z serwerem i siedzimy sobie na nim... no ale wypada³oby z kim¶ pogadaæ, wej¶æ na jaki¶ kana³ itp.

Podstawowe polecenia

Zwykle przyzwyczajeni jeste¶my do tego, ¿e uruchamiaj±c IRC wchodzimy natychmiast na jaki¶ konkretny kana³. W takim wypadku wydajemy przez telnet polecenie:

join #kanal

Ale uwaga! jeste¶ po³±czony przez telnet, a nie przez klienta IRC, wiêc przed poleceniami nie dajesz ¿adnego slasha!

Wpisuj±c powy¿sze polecenie, pojawisz siê na kanale. Bêdziesz widoczny dla innych, a zaraz po wej¶ciu wy¶wietli ci siê lista userów. Od tej chwili bêdziesz widzia³ co pisz± inni, jednak nie bêdzie to czysty tekst, lecz informacje oprawione w ró¿nego rodzaju znaczniki. Oto przyk³ad:

:K3resek!keres@80.50.170.X PRIVMSG #uw-team :re

Powy¿szy tekst znaczy jedynie tyle, ¿e u¿ytkownik K3resek z ustawionym identem 'keresek' z hosta 80.50.170.X na kanale #uw-team powiedzia³ publicznie 're' ;]

Wypada³oby mu odpowiedzeæ, wiêc piszemy:

PRIVMSG #uw-team :hi keresek!

Uwaga! zauwa¿, ¿e po poleceniu PRIVMSG jako adresata poda³em #uw-team a nie K3resek. Sprawi³o to, ¿e mój tekst zosta³ wys³any na kana³, a nie na Priva.

Czêsto u¿ywane na IRC s± tzw. 'akcje', które na kanale wygl±daj± np. tak:

* Unknow zaraz wraca

Je¶li chcemy wywo³aæ co¶ takiego przez protokó³ IRC, musimy wpisaæ poni¿sze polecenie:

PRIVMSG #uw-team :\001ACTION zaraz wraca\001

Dodam jedn± wa¿n± uwagê. Przed wiêkszo¶ci± wypowiadanych tekstów dodajemy znak dwukropka, oznacza to, ¿e po nim wystêpuje wiêcej ni¿ jedno s³owo do zacytowania w poleceniu. Je¶li dwukropek nie wystêpuje, jest to znak, ¿e po adresacie wiadomo¶ci znajduej siê jedynie pojedyñcze s³owo do zacytowania.

Przyk³adowo:

privmsg #kanal :re all!
wyswietli na kanale:
<nick> re all!
privmsg #kanal czesc wszystkim!
wyswietli na kanale:
<nick> czesc

Rozmowe na PRIV prowadzi siê dok³adnie tak samo jak na kanale, z t± ró¿nic±, ¿e zamiast #kana³ podajemy nick u¿ytkwonika, do którego chcemy przes³aæ wiadomo¶æ

Utrzymywanie po³±czenia

Je¶li czytaj±c ten artyku³, sprawdzasz podane tu informacje w praktyce, to z pewno¶ci± dziwisz siê, dlaczego co ¶rednio 180 sekund serwer zrywa z Tob± po³±czenie. Dzieje siê tak za spraw± pinga, jednak nie chodzi tu o pakiet ICMP, lecz o specyficzny IRC'owy rodzaj komunikatu kontrolnego o tej samej nazwie.

Co kilkaset sekund (zwykle 180 lub wiêcej) serwer IRC przesy³a do u¿ytkownika tekst kontrolny, przyk³adowo:

PING 1234567890

Zabieg ten s³u¿y do sprawdzenia, czy u¿ytkownik nadal jest po³±czony z serwerem, jak i do obliczenia szacunkowego laga (opó¼nienia) w przesy³aniu informacji. Ci±g cyfr 1234567890 to zwykle timestamp, czyli unixowy znacznik czasu.

Po otrzymaniu od serwera podanego wy¿ej komunikatu, trzeba odpowiedzieæ na niego mo¿liwie szybko komunikatem PONG, zawieraj±cym ten sam timestamp. Na udzielenie odpowiedzi mamy zwykle oko³o 180 sekund, czyli dok³adnie tyle, za ile przyjdzie drugi pakiet kontrolny.

Przyk³ad komunikacji powinien wiêc wygl±daæ nastêpuj±co:

Serwer:
PING 1234567890
U¿ytkownik:
PONG 1234567890
Zakoñczenie

Przedstawi³em Ci absolutne podstawy protoko³u IRC, niezbêdne do komunikacji z serwerem, lub do napisania prostego klienta. Je¶li zainteresowa³ Ciê ten temat, to odsy³am do dokumentów RFC po¶wiêconych protoko³owi IRC.

Autor: Unknow

Uwa¿asz, ¿e prezentowane przez nas informacje s± u¿yteczne? Pomó¿ nam je wypromowaæ!

  • dodaj do flakera
  • blipnij o tym
Kana³ RSS
Co na forum?
Prezent dla ...
[JAVA]Wysy³a...
Prawa autorskie
flagi bootow...
Niecne wykor...
ServerShell status: dzia³a
[zaló¿ konto]
Koszulki z nadrukiem
Newsletter
Je¶li chcesz byæ powiadamiany o nowo¶ciach na stronie, wpisz tu swój e-mail

RSS

Dodaj do Google

Copyright © 2003-2012 by UW-Team.org - All rights reserved.
Design by Skwara, coded by Unknow