函式名稱:EventUtil::getSocketName()
函式說明:該函式用於獲取一個套接字的本地或遠端繫結的地址和埠資訊。
適用版本:Event 2.2.1 及以上版本
語法:string EventUtil::getSocketName(resource $socket, bool $include_port = false)
引數:
- $socket: 必需,表示一個套接字資源,可以是一個流資源返回的套接字描述符或者一個網路套接字的資源。
- $include_port: 可選,一個布林值,表示是否包含埠號,預設為 false。
返回值:返回套接字的本地或遠端繫結的地址和埠資訊的字串,如果出錯返回 false。
示例:
$socket = stream_socket_server("tcp://127.0.0.1:8000", $errno, $errstr);
if (!$socket) {
die("Error: $errstr ($errno)");
}
$address = EventUtil::getSocketName($socket, true);
echo "Server is listening on " . $address;
fclose($socket);
上述示例程式碼中,我們使用 stream_socket_server
建立一個 TCP 伺服器,並將其繫結在本地的 8000 埠。然後,我們使用 EventUtil::getSocketName
函式獲取伺服器套接字的地址和埠資訊,並將其列印出來。最後,我們關閉該套接字。
輸出結果類似於:Server is listening on 127.0.0.1:8000
,表示伺服器正在監聽本地的 8000 埠。