bind - Funktion
Zurück

Die Funktion bind stellt die Verbindung zwischen einem Sockethandle ( vgl. socket ) und einer Portnummer her. Der Serverprozeß ( und damit der Sockethandle ) ist vom BS nur über die PID erreichbar. Das ist für einen Zugriff über das Netz unzweckmäßig, da die PID einem Remoterechner nicht bekannt sein kann ( der PID ändert sich i.a. beim Neustart eines Prozesses ).

bind(Socket_Handle,$addr)
Socket_Handle
Der Sockethandle wird durch die Funktion socket bereitgestellt.
Der Bezeichner muß daher identisch sein mit dem Sockethandle aus socket(Socket_Handle...).
$addr
Die Variable $addr beinhaltet die Binärform von Port und IP-Adresse.
Die Binärform wird von der Funktion sockaddr_in($port,$hostbyname) im skalaren Kontext geliefert.
$port liegt als Integer vor und der Port darf nicht belegt sein.
$hostbyname muß ebenfalls binär vorliegen ( vgl. gethostbyname )
Beispiel
use Socket;
$proto = 8085;

$proto = getprotobyname('tcp');
socket(SH,PF_INET,SOCK_STREAM,$proto);

$hostbyname = gethostbyname('thin1.test.de');
$addr = sockaddr_in($port,$hostbyname);
bind(SH,$addr) || warn "Cannot bind to $port $!\n";