bolug bonner linux user group
news about wissen files archive hilfe suchen  

 

archive :: BoLUG

druckfassung

BoLUG

Re: perl-Tcp-Server über inetd starten

To: Linux-Mailingliste Bonn <bolug@xxxxxxxxxxx>
Subject: Re: perl-Tcp-Server über inetd starten
From: Miroslaw Dobrzanski-Neumann <mne@xxxxxxxxxxxxx>
Date: Thu, 29 Sep 2005 07:35:25 +0200
On Thu, Sep 29, 2005 at 12:34:59AM +0200, Reinhard Bellmann wrote:
> Hallo!
> 
> Wie schreibt man einen Tcp-Server, den man über inetd startet?
> 
> Ich habe im Netz Anleitungen gefunden und erfolgreich ausprobiert für 
> Server, die sich selbst forken, damit die Children die eingehenden 
> Verbindungen abarbeiten und der Hauptserver sofort wieder lauscht.
> Was ich nun nicht ganz kapiere:
> 
> Erstens: Übernimmt der inetd diese Aufgabe, d.h. startet der für jede 
> eingehende Verbindung einen neuen Server, sodaß das Serverprogramm 
> sinnvollerweise selbst nicht forkt?

Ja, die Kommunikationskanäle werden auf stdin, stdout gelegt. Du musst nichts
mehr tun als Lesen und Schreiben. 

> 
> Zweitens: Das Serverprogramm belegt einen serversocket mit bestimmter 
> Port-Nummer. Aber in der Konfiguration des inetd ist doch selbst schon 
> die Port-Nummer festgelegt, d.h. der intd lauscht z.B. für den Dienst 
> xxx an Port 4711, startet dann das Programm xxx.pl - und wie bekommt das 
> Programm dann die eingehende Verbindung übergeben? Muß es selbst einen 
> serversocket auf Port 4711 aufmachen? Und wenn es auf 4712 nimmt? Ich 
> kapiere das Konzept wohl nicht ganz...

nach dem select() akzeptiert de inetd die Verbingung mit accept(). Darauf hin
bekommt er (vom System) für die Verbindung einen neuen Socket mit neuer
Portnummer. Anschließend wird dein Program gestartet mit den Socketstreams mit 
stdin und stdout verbunden. Der inetd legt sich dann softort auf die Lauer.
Dein Program kann an der Stelle weitermachen.

Gruß
-- 
Mirosław Dobrzański-Neumann
E-mail: mne@xxxxxxxxxxxxx
-------  L E G A L    D I S C L A I M E R  ---------

Die Informationen in dieser Nachricht sind vertraulich 
und ausschliesslich fuer den Adressaten bestimmt. 
Kenntnisnahme durch Dritte ist unzulaessig. Die 
Erstellung von Kopien oder das Weiterleiten an weitere, 
nicht originaere und benannte Adressaten ist nicht 
vorgesehen und kann ungesetzlich sein. Die Meinungen 
in dieser Nachricht stellen lediglich die Meinungen 
des Senders dar. Falls Sie vermuten, dass diese 
Nachricht veraendert wurde, setzen Sie sich mit dem 
Absender in Verbindung. Der Absender uebernimmt ohne 
weitere Ueberpruefung keine Verantwortung fuer die 
Richtigkeit und Vollstaendigkeit des Inhalts. Unbefugte 
Empfaenger werden gebeten, die Vertraulichkeit der 
Nachricht zu wahren und den Absender sofort ueber 
einen Uebertragungsfehler zu informieren.
------------------------------------------------------


 « Vorige im Thread  Dieser Thread  Nächste im Thread » 

 

seitenanfang


 

news about wissen files archive hilfe suchen  
kontakt letzte änderung: 29.09.2005