ist die Implementierung des Directoryservers von Mcntp. Ein Host, der News via Mcntp versenden möchte, muß genau einen Prozeß betreiben.
Nach dem Start von wird eine Konfigurationsdatei eingelesen, in der einige Parameter von definiert sind, wie z.B. die Reichweite der Ankündigungspakete oder welche Gruppen welche TTL erhalten. Das genaue Format dieser Datei ist weiter unten im Abschnitt 4.3.1 beschrieben.
Als nächstes wird ein TCP-Port via Bibliotheksfunktion _tcp_serv() geöffnet, der als Anlaufstelle für die Verbindungen von dient. Als Nummer des TCP-Ports wurde von der IANA (siehe 2.6) die Nummer 5418 mit dem Namen MCNTP offiziell zugewiesen.
Zusätzlich wird ein UDP-Port geöffnet, welcher dazu dient, die Ankündigungspakete von anderen Directoryservern zu empfangen. Diese Informationen werden momentan, im Gegensatz zu Abbildung 21 im Abschnitt 3.4.2 auf Seite , noch nicht von ausgewertet (siehe auch Abschnitt 7.1 auf Seite ). Für den Betrieb auf einem zentralen Newsserver innerhalb der Grenzen eines Providers ist dies aber nicht weiter störend.
In der Hauptschleife wird geprüft, ob sich Aktivitäten auf dem TCP-Port abspielen (Verbindungswunsch oder Verbindungsabbau) und diese dann bearbeitet.
Für Aktivitäten auf dem Port gibt es drei Möglichkeiten, wie sie in Abbildung 27 auf Seite dargestellt sind. Wenn ein neuer Client eine Verbindung anfordert, wird diese geöffnet und in die Liste der offenen Verbindungen eingetragen.
Wenn der Client die Verbindung beendet, sei es, daß er sich ordentlich abmeldet (siehe auch Abschnitt 4.3.2) oder daß es zum Verbindungsabbruch kommt, wird die Verbindung wieder aus der Liste entfernt.
Ansonsten wird in der Liste der offenen Verbindungen geschaut, ob auf eine dieser Verbindungen reagiert werden muß. Dies kann zum einen der beschriebenen Verbindungsabbau sein, zum anderen aber auch eine Anfrage nach einer Multicastgruppe. Diese (neue) Gruppe wird ermittelt (mehr hierzu im nächsten Abschnitt), dem Client mitgeteilt und in der Liste vermerkt. Aus dieser Liste werden dann auch die Ankündingungspakete generiert.
Wenn keine Aktivitäten auf dem Port zu verzeichnen sind, wird geprüft, ob die Wartezeit zwischen dem Versand der Ankündigungspakete abgelaufen ist und im Bedarfsfall die Liste der Gruppen verteilt. Die Wartezeit beträgt ca. eine Minute, um den Datenverkehr gering zu halten. Es könnte auch nach jeder Änderung in der Liste der Verbindungen ein Ankündigungspaket generiert werden, aber dies würde in der Praxis teilweise eine große Anzahl von Ankündigungspaketen in kurzer Zeit generieren.