Hosted at Sorceforge.net next up previous contents
Next: DICT Up: Hitchhiker's Guide to the Previous: FTP   Contents

Subsections

IRC

Nun wieder zu einem einfacheren Protokoll: IRC57, definiert in RFC 1459. IRC ist sehr viel jünger als zum Beispiel SMTP oder FTP und übernimmt einen Bereich des Internets, der immer mehr an Zustimmung findet: Echt-Zeit58 Chatten.

Idee

Bei IRC werden Leute mit gleichen Interessen in "`Channels"' eingeteilt59, zum Beispiel #linux oder #hurd.

Die Kommunikation läuft dann immer über den Server, das heißt, es werden keine Verbindungen zwischen den Client-Rechnern selbst hergestellt. Bei einigen hundert Leuten pro Channel würde man, wenn alle Clients miteinander verbunden werden sollten, tausende Verbindungen benötigen. Wenn sich alle Clients nur mit dem Server verbinden sind nur soviel Verbindungen nötig wie Clients vorhanden sind (siehe Grafik

Figure 28: Die Architektur des IRC-Netzes
\includegraphics[scale=0.6]{.cached/d47486d702d40ef958f1b37083e94676.eps}
[*]).

Dabei tauschen sich die einzelnen IRC-Server eines IRC-Netzwerkes (es gibt mehrere) auch gegenseitig aus, um ein möglichst synchrones IRC-Netz zu gewährleisten. Somit ist es egal, zu welchem Server eines Netzes ein Client sich verbindet: Er sieht trotzdem alle Nachrichten aller anderen Clients desselben Netzes.

Beispielsitzung

Im Folgenden werden wir eine Runde im Channel #infothek des Servers irc.de.quakenet.eu.org:6667 chatten. Dazu verbinden wir uns zuerst mit dem Server, woraufhin wir gleich eine Authentifizierungsmeldungen erhalten:

<NOTICE AUTH :*** Looking up your hostname
<NOTICE AUTH :*** Checking Ident
<NOTICE AUTH :*** Found your hostname

Dann melden wir uns mit dem Nickname irc-telnet und dem Realname60 Telnet Chatter an:

>NICK irc-telnet
<PING :1437972627
>PONG :1437972627
>USER irc-telnet localhost localhost :Telnet Chatter
<:quakenet.org 001 irc-telnet :Welcome...
<...
<:quakenet.org 372 irc-telnet :- **[ End Of MOTD ]******
<:quakenet.org 376 irc-telnet :End of /MOTD command.
<:quakenet.org NOTICE irc-telnet :on 2 ca 4(4) ft 20(20)
Das PONG-Befehl als Antwort auf PING beeinflusst die Login-Prozedur nicht; Der Server prüft mit einem PING-Befehl nur, ob der Client noch online ist. Auf ein PING-Paket muss man immer mit einem identischen PONG-Paket antworten.

Als nächstes gehen wir in den Channel #infothek:

>JOIN #infothek
<:irc-telnet!~irc-telne@13.9.ak.net JOIN :#infothek
<:quakenet.org 353 irc-telnet = #infothek :irc-telnet @iblech
<:quakenet.org 366 irc-telnet #infothek :End of /NAMES list.

Wir sind drin! Und können jetzt eine Nachricht an alle im Channel befindlichen Leute61 schicken:

>PRIVMSG #infothek :Hallo?
Der erste Parameter des PRIVMSG-Befehls bezeichnet den Empfänger der Nachricht. Der Empfänger kann entweder ein ganzer Channel (erkennbar an einem # oder & als erstes Zeichen des Names) oder eine einzelne Person sein. Sendet man an eine Person, so ist diese Nachricht für den Rest des Channels unsichtbar.

Wenn uns jemand anderes Antwort (im Beispiel iblech) sieht das dann so aus:

<:iblech!~iblech@13.9.ak.net PRIVMSG #infothek :Hi
Das Format der Rückgabe ist dabei
:nickname!benutzername-auf-dem-client@ip-oder-hostname
Auch hier zeigt der erste Parameter des PRIVMSG-Befehls den Empfänger der Nachricht an. Eine private Nachricht des Benutzers iblech sähe zum Beispiel so aus:
<:iblech!~iblech@13.9.ak.net PRIVMSG irc-telnet :Private Nachr.

Um einen Channel wieder zu verlassen, benutzt man PART:

>PART #infothek
<:irc-telnet!~irc-telne@13.9.ak.net PART #infothek
Schließlich können wir die Verbindung beenden:
>QUIT

Übersicht aller Befehle

Neben denen in der Tabelle aufgeführten Befehle können auch die schon von IRC-Clients wie bitchx oder irssi bekannten Befehle angewendet werden, sofern man den / (Slash) im Befehl weglässt, also zum Beispiel LIST statt /LIST.

Befehl Wirkung
NICK nickname Registrierung als nickname
USER usern localhost localhost :Realname Login
JOIN channelname Eintreten in Channel
PART channelname Austreten aus einem Channel
PRIVMSG empfänger :Text Sendet eine Zeile
QUIT Schließt die Verbindung



Footnotes

... IRC57
Internet Relay Chat
... Echt-Zeit58
mehr oder weniger...
... eingeteilt59
natürlich freiwillig...
... Realname60
Echter Name
... Leute61
Oder Bots...

Hosted at Sorceforge.net next up previous contents
Next: DICT Up: Hitchhiker's Guide to the Previous: FTP   Contents
Ingo Blechschmidt 2003-08-07