Php/docs/function.socket-bind

From Get docs

socket_bind

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_bindBinds a name to a socket


Description

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().


Parameters

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.


Return Values

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.


Examples

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 addresssocket_bind($sock, $sourceips['madcoder']);// Connect to destination addresssocket_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);// Closesocket_close($sock);?>

Notes

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.

See Also