Sockets
PHP Manual

socket_bind

(PHP 4 >= 4.0.7, PHP 5)

socket_bind — Binds a name to a socket

说明

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

参数

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.

返回值

如果成功则返回 TRUE,失败则返回 FALSE

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_INETSOCK_STREAMSOL_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.

参见


Sockets
PHP Manual