(PHP 4 >= 4.1.0, PHP 5, PHP 7)
socket_bind — Binds a name to a socket
socket_bind ( resource $socket , string $address [, int $port = 0 ] ) : bool
Binds the name given in address
to the socket described by socket
. This has to be done before a connection is be established using socket_connect() or socket_listen().
socket
A valid socket resource created with socket_create().
address
If the socket is of the AF_INET
family, the address
is an IP in dotted-quad notation (e.g. 127.0.0.1
).
If the socket is of the AF_UNIX
family, the address
is the path of a Unix-domain socket (e.g. /tmp/my.sock).
port
(Optional) The port
parameter is only used when binding an AF_INET
socket, and designates the port on which to listen for connections.
Returns true
on success or false
on failure.
The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.
Example #1 Using socket_bind() to set the source address
<?php // Create a new socket $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // An example list of IP addresses owned by the computer $sourceips['kevin'] = '127.0.0.1'; $sourceips['madcoder'] = '127.0.0.2'; // Bind the source address socket_bind($sock, $sourceips['madcoder']); // Connect to destination address socket_connect($sock, '127.0.0.1', 80); // Write $request = 'GET / HTTP/1.1' . "\r\n" . 'Host: example.com' . "\r\n\r\n"; socket_write($sock, $request); // Close socket_close($sock); ?>
Note:
This function must be used on the socket before socket_connect().
Note:
Windows 9x/ME compatibility note: socket_last_error() may return an invalid error code if trying to bind the socket to a wrong address that does not belong to your machine.
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.socket-bind.php