= 4.1.0, PHP 5, PHP 7, PHP 8)socket_bind — 給套接字綁定名字說(shuō)明socket_bind(Socket $socket, string $address, int $port = 0): bool綁定 address 到 ">
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_bind — 給套接字綁定名字
綁定 address
到 socket
。
該操作必須是在使用 socket_connect() 或者 socket_listen()
建立一個(gè)連接之前。
socket
用 socket_create() 創(chuàng)建的 Socket 實(shí)例。
address
如果套接字是 AF_INET
族,那么
address
必須是一個(gè)四點(diǎn)分法的 IP 地址(例如 127.0.0.1
)。
如果套接字是 AF_UNIX
族,那么 address
是 Unix 套接字一部分(例如 /tmp/my.sock )。
port
(可選)
參數(shù) port
僅僅用于 AF_INET
套接字連接的時(shí)候,并且指定連接中需要監(jiān)聽(tīng)的端口號(hào)。
成功時(shí)返回 true
, 或者在失敗時(shí)返回 false
。
錯(cuò)誤代碼會(huì)傳入 socket_last_error() ,如果將此參數(shù)傳入 socket_strerror() 則可以得到錯(cuò)誤的文字說(shuō)明。
版本 | 說(shuō)明 |
---|---|
8.0.0 |
現(xiàn)在 socket 是 Socket 實(shí)例,
之前是 resource。
|
示例 #1 使用 socket_bind() 來(lái)設(shè)置套接字資源地址
<?php
// Create a new socket
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_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 兼容性注意點(diǎn): 如果嘗試綁定套接字資源到一個(gè)錯(cuò)誤的地址,而這個(gè)地址不是本機(jī)的地址,那么 socket_last_error() 可能會(huì)返回一個(gè)無(wú)效的錯(cuò)誤代碼。