PHP Handbuch
Zurück |  | Weiter

# socket_bind

(PHP 4 >= 4.1.0, PHP 5)

socket_bind -- Verknüpft einen Namen mit einem Socket

## Beschreibung

bool socket_bind ( resource socket, string address [, int port] )

socket_bind() verknüpft den Namen, der in `address` angegeben ist mit dem Socket, der durch `socket` bestimmt ist. Dies muss ein gültiger Socket-Deskriptor sein, der mit der Funktion socket_create() erzeugt wurde.

## Parameter Liste

`socket`

  Ein gültiger Socket-Deskriptor, der mit socket_create() erzeugt wurde.

`address`

  Falls der Socket zur `AF_INET`-Familie gehört, ist der Parameter `address` eine IP in Punktnotation (z.B. `127.0.0.1`)

  Falls der Socket zur `AF_UNIX`-Familie gehört, ist der Parameter `address` der Pfad eines Unix-domain Sockets (z.B. `/tmp/my.sock`).

`port` (Optional)

  Der Parameter `port` wird nur benutzt, wenn zu einem Socket der `AF_INET`-Familie verbunden wird und gibt an, zu welchem Port des entfernten Hosts eine Verbindung hergestellt werden soll.

## Rückgabewerte

Gibt bei Erfolg `TRUE` zurück, im Fehlerfall `FALSE`.

Der Fehlercode kann mit der Funktion socket_last_error() abgefragt werden. Dieser Fehlercode kann an die Funktion socket_strerror() übergeben werden, um eine textuelle Beschreibung des Fehlers zu erhalten.

## Beispiele

Beispiel 1. socket_bind() benutzen, um die Quell-Adresse zu setzen:

`<?php
// Einen neuen socket erzeugen
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// Eine (Beispiel-) Liste von IP-Adressen dieses Computers
$sourceips['kevin'] = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';
// Eine Quell-Adressen an den Socket binden
socket_bind($sock, $sourceips['madcoder']);
// Zur Zieladresse verbinden
socket_connect($sock, '127.0.0.1', 80);
// Schreiben
$request = 'GET / HTTP/1.1' . "\r\n" .
'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);
// Die Socketverbindung schliessen
socket_close($sock);
?>`

## Anmerkungen

> Anmerkung: Diese Funktion muss vor socket_connect() aufgerufen werden.

> Anmerkung: Kompatibilität mit Windows 9x/ME: socket_last_error() kann einen falschen Fehlercode zurückgeben, wenn versucht wird, den Socket an eine Adresse zu binden, die nicht dem aktuellen Rechner gehört.

## Siehe auch

socket_connect()
socket_listen()
socket_create()
socket_last_error()
socket_strerror()

Zurück | Zum Anfang | Weiter
socket_accept | Nach oben | socket_clear_error