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