(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_bind — Vincula um nome a um soquete
Vincula o nome informado em address
ao soquete
descrito por socket
. Isto deve ser feito antes
que uma conexão seja estabelecida usando socket_connect()
ou socket_listen().
socket
Uma instância de Socket criada com socket_create().
address
Se o soquete for da família AF_INET
, o parâmetro
address
será um IP na notação de quatro inteiros separados por pontos
(ex.: 127.0.0.1
).
Se o soquete for da família AF_UNIX
, o parâmetro
address
será o caminho para um
soquete de domínio Unix (ex.: /tmp/my.sock).
port
(opcional)
O parâmetro port
é usado somente ao
vincular um soquete AF_INET
, e designa
a porta na qual as conexões serão recebidas.
Retorna true
em caso de sucesso ou false
em caso de falha.
O código de erro pode ser recuperado com socket_last_error(). Esse código pode ser passado para socket_strerror() para obter uma explicação textual do erro.
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro socket agora espera uma instância de Socket;
anteriormente, um resource era esperado.
|
Exemplo #1 Usando socket_bind() para definir o endereço da origem
<?php
// Cria um novo soquete
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// Uma lista de exemplo de endereços IP de propriedade do computador
$sourceips['kevin'] = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';
// Vincula o endereço de origem
socket_bind($sock, $sourceips['madcoder']);
// Conexão ao endereço de destino
socket_connect($sock, '127.0.0.1', 80);
// Escreve
$request = 'GET / HTTP/1.1' . "\r\n" .
'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);
// Fecha
socket_close($sock);
?>
Nota:
Esta função precisa ser usada no soquete antes de socket_connect().