socket_bind
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_bind — Vincula um nome a um soquete
Descrição
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().
Parâmetros
socket
-
Uma instância de Socket criada com socket_create().
address
-
Se o soquete for da família
AF_INET
, o parâmetroaddress
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âmetroaddress
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 soqueteAF_INET
, e designa a porta na qual as conexões serão recebidas.
Valor Retornado
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.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro socket agora espera uma instância de Socket;
anteriormente, um resource era esperado.
|
Exemplos
Example #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);
?>
Notas
Note:
Esta função precisa ser usada no soquete antes de socket_connect().
Veja Também
- socket_connect() - Inicia uma conexão em um soquete
- socket_listen() - Escuta uma conexão em um soquete
- socket_create() - Cria um soquete (ponto de extremidade para comunição)
- socket_last_error() - Retorna o último erro no soquete
- socket_strerror() - Retorna uma string descrevendo um erro no soquete