Re: Re[2]: per inetd ein Programm starten

From: Bernd Walter <ticso(at)cicely9.cicely.de>
Date: Tue, 13 May 2003 23:48:22 +0200

On Tue, May 13, 2003 at 11:42:29PM +0200, Andy Tschiersch wrote:
>
>
> Am Dienstag, 13. Mai 2003 um 22:44 schrieb Dominik Brettnacher:
>
> DB> On Tue, 13 May 2003, Andy Tschiersch wrote:
>
> >> In der /etc/inetd.conf habe ich folgendes eingetragen:
> >> ipabgleich stream tcp nowait root /root/etc/ip_abgleich/listener.pl
>
> DB> Wenn ich das richtig sehe, fehlt in der Zeile ein Feld, und zwar jenes,
> DB> das in inetd.conf(5) als "server program arguments" beschrieben ist.
> DB> Ob das die Ursache ist, weiß ich nicht, aber ich halte es für plausibel.
> DB> Schreibe dort also mal "listener.pl" hin.
>
> habe ich nun eingefügt
>
> DB> Wenn das nicht tut, überprüfe doch mal, falls nicht schon geschehen, ob
> DB> der Port von inetd wirklich geöffnet wird (netstat -af inet).
>
> das geht anscheinend auch:
> tcp4 0 0 *.ipabgleich *.* LISTEN
>
>
>
> Ok, das hat geklappt. Nun habe ich noch ein anderes Problem was
> vielleicht nicht mehr in diesen Thread passt:
>
> Wenn der inetd an den Port 8932 lauscht und dann mein kleines
> Perlprgramm startet, dann bekomme ich die Fehlermeldung: Address already in use
>
> Hier der Codeschnippsel in dem der Fehler ensteht:
>
> my $socket = IO::Socket::INET->new(
> 'Listen' => 1,
> 'LocalPort' => 8932,
> ) or write_log($!);

Du brauchst kein TCP mehr aufzumachen.
Der inetd übergibt dir den connect auf stdin/stdout.
Ein listen machst du, um selber eingehende Connects zu behandeln -
genau das hat der inetd bereits gemacht.

-- 
B.Walter                   BWCT                http://www.bwct.de
ticso(at)bwct.de                                  info(at)bwct.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 13 May 2003 - 23:48:56 CEST

search this site