# socket_bind

(PHP 4 >= 4.0.7, PHP 5)

socket_bind — Binds a name to a socket

### Description

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

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 connecting to an `AF_INET` socket, and designates the port on the remote host to which a connection should be made.

### 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 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);
?>`

### 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

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