IRC-Daemon
Als IRC-Daemon, kurz IRCd, wird der Daemon (Server-Software) bezeichnet, der bei einem IRC-Server im Internet Relay Chat eingesetzt wird.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20090422113612
| {{#ifeq: 20090422113612 | *
| {{#if: irchelp.org | {{#invoke:WLink|getEscapedTitle|irchelp.org}} | {{#invoke:Webarchiv|getdomain|http://www.irchelp.org/irchelp/ircd/server-request.html}} }} (Archivversionen)
| {{#iferror: {{#time: j. F Y|20090422113612}}
| {{#if: || }}Der Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
| {{#if: irchelp.org | {{#invoke:WLink|getEscapedTitle|irchelp.org}} | {{#invoke:Webarchiv|getdomain|http://www.irchelp.org/irchelp/ircd/server-request.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2018-04-15 16:47:48 InternetArchiveBot | 2018-04-15 16:47:48 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y|20090422113612}} im Internet Archive{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
}}
| {{#if:
| {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
| {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
| 16= {{#if: irchelp.org | {{#invoke:WLink|getEscapedTitle|irchelp.org}} | {{#invoke:Webarchiv|getdomain|http://www.irchelp.org/irchelp/ircd/server-request.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2018-04-15 16:47:48 InternetArchiveBot | 2018-04-15 16:47:48 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| 9 = {{#if: irchelp.org | {{#invoke:WLink|getEscapedTitle|irchelp.org}} | {{#invoke:Webarchiv|getdomain|http://www.irchelp.org/irchelp/ircd/server-request.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2018-04-15 16:47:48 InternetArchiveBot | 2018-04-15 16:47:48 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!{{#if: || }}
}}
| c|{{{webciteID}}}}} {{#if: irchelp.org | {{#invoke:WLink|getEscapedTitle|irchelp.org}} | {{#invoke:Webarchiv|getdomain|http://www.irchelp.org/irchelp/ircd/server-request.html}} }} ({{#if: {{#if: 2018-04-15 16:47:48 InternetArchiveBot | 2018-04-15 16:47:48 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
| {{#if:
| Vorlage:Webarchiv/Today
| {{#if:
| Vorlage:Webarchiv/Generisch
| {{#if: irchelp.org | {{#invoke:WLink|getEscapedTitle|irchelp.org}} | {{#invoke:Webarchiv|getdomain|http://www.irchelp.org/irchelp/ircd/server-request.html}} }}
}}}}}}}}{{#if:2018-04-15 16:47:48 InternetArchiveBot
| Vorlage:Webarchiv/archiv-bot
}}{{#invoke:TemplatePar|check
|all = url=
|opt = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
|cat = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
|errNS = 0
|template = Vorlage:Webarchiv
|format = *
|preview = 1
}}{{#ifexpr: {{#if:20090422113612|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
}}{{#if:
| {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
| web.archive.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}}
| webcitation.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}}
| archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
}}{{#if:
| {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
| }}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
}}
| {{#if:
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
}}
}}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.irchelp.org/irchelp/ircd/server-request.html}}
|| {{#if: || }}
}}{{#if: irchelp.org
| {{#if: {{#invoke:WLink|isBracketedLink|irchelp.org}}
| {{#if: || }}
}}
| {{#if: || }}
}}{{#switch:
|addlarchives|addlpages= {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
}}{{#ifeq: {{#invoke:Str|find|http://www.irchelp.org/irchelp/ircd/server-request.html%7Carchiv}} |-1
|| {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.irchelp.org/irchelp/ircd/server-request.html%7C4}}%7Chttp}} |-1
|| {{#switch: {{#invoke:Webarchiv|getdomain|http://www.irchelp.org/irchelp/ircd/server-request.html }}
| abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org =
| #default = {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
}}
}}
}}</ref>
Der IRCd nimmt Verbindungen von IRC-Clients und anderen IRC-Servern entgegen und baut gegebenenfalls Verbindungen zu anderen IRC-Servern auf, um mit diesen ein IRC-Netzwerk zu bilden.<ref>Vorlage:RFC-Internet</ref> Hauptaufgabe ist es, Chats entgegenzunehmen und die einzelnen Nachrichten zwischen den IRC-Clients, also den Gesprächspartnern, zu vermitteln.<ref>Vorlage:RFC-Internet</ref>
Der erste IRCd wurde als freie Software 1988 von Jarkko Oikarinen entwickelt.<ref>irc.org</ref> Die meisten IRC-Netzwerke setzen andere IRC-Daemons ein,<ref>searchirc.com</ref> die entweder Weiterentwicklungen des originalen oder anderer IRCds sind,<ref>ircd-hybrid.com</ref> oder auch komplett von Grund auf neu entwickelt wurden, wie InspIRCd. Die Version eines auf einem Server benutzten IRCds lässt sich meist mit dem IRC-Befehl /version abfragen.<ref>Vorlage:RFC-Internet</ref>
IRC-Services können als Erweiterung des IRCd gesehen werden, die den Nutzern weitere Funktionen bieten, und sind externe Programme, die sich mit dem IRCd verbinden wie auch die Clients oder die anderen Server im Netzwerk.<ref>Vorlage:RFC-Internet</ref>
IRC-Daemons sind in aller Regel ein einziger Systemprozess ohne Threads, da die meisten Aktionen auf den globalen Status der User oder Channel im Speicher lesend und oft auch schreibend zugreifen müssen und Threads kaum Geschwindigkeitszuwachs ermöglichen würden.
Dies stellt auch besondere Anforderungen an die Gestaltung der Software: Um einen Echtzeit-Chat<ref>Vorlage:RFC-Internet</ref> zu ermöglichen, darf der Prozess zu keinem Zeitpunkt länger an einer bestimmten Stelle blockieren bzw. auf externe Aktionen warten. Aus diesem Grund werden beispielsweise DNS-Abfragen oft durch einen internen Resolver durchgeführt statt über Betriebssystemfunktionen,<ref>vulnscan.org</ref> was z. B. auch mehrere simultane Namensauflösungen ermöglicht.
Weblinks
- Linkkatalog zum Thema IRC bei curlie.org (ehemals DMOZ) (englisch)
- IRC.org Informationen über den originalen IRCd (englisch).
Einzelnachweise
<references />