= 4.1.0, PHP 5, PHP 7, PHP 8)socket_bind — 給套接字綁定名字說明socket_bind(Socket $socket, string $address, int $port = 0): bool綁定 address 到 ">

socket_bind

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_bind給套接字綁定名字

說明

socket_bind(Socket $socket, string $address, int $port = 0): bool

綁定 addresssocket。 該操作必須是在使用 socket_connect() 或者 socket_listen() 建立一個連接之前。

參數(shù)

socket

socket_create() 創(chuàng)建的 Socket 實例。

address

如果套接字是 AF_INET 族,那么 address 必須是一個四點分法的 IP 地址(例如 127.0.0.1 )。

如果套接字是 AF_UNIX 族,那么 address 是 Unix 套接字一部分(例如 /tmp/my.sock )。

port (可選)

參數(shù) port 僅僅用于 AF_INET 套接字連接的時候,并且指定連接中需要監(jiān)聽的端口號。

返回值

成功時返回 true, 或者在失敗時返回 false。

錯誤代碼會傳入 socket_last_error() ,如果將此參數(shù)傳入 socket_strerror() 則可以得到錯誤的文字說明。

更新日志

版本 說明
8.0.0 現(xiàn)在 socketSocket 實例, 之前是 resource

范例

示例 #1 使用 socket_bind() 來設(shè)置套接字資源地址

<?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);

?>

注釋

注意:

該函數(shù)必須在 socket_connect() 之前使用。

注意:

Windows 9x/ME 兼容性注意點: 如果嘗試綁定套接字資源到一個錯誤的地址,而這個地址不是本機的地址,那么 socket_last_error() 可能會返回一個無效的錯誤代碼。

參見