(PHP 4 >= 4.1.0, PHP 5)
socket_bind — Binds a name to a socket
$socket
   , string $address
   [, int $port = 0
  ] )
   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().
  
socketA 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.