PHP Manual
Prev |  | Next

# socket_bind

(PHP 4 >= 4.1.0, 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 can 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()

Prev | Home | Next
socket_accept | Up | socket_clear_error