查詢

socket_create_listen()函式—用法及示例

「 建立一個監聽套接字,用於接受進來的連線請求 」


函式名:socket_create_listen()

適用版本:PHP 4 >= 4.1.0, PHP 5, PHP 7

函式描述:socket_create_listen() 函式建立一個監聽套接字,用於接受進來的連線請求。

語法:resource socket_create_listen ( int $port [, int $backlog = 128 ] )

引數:

  • port:要監聽的埠號。
  • backlog(可選):指定等待連線佇列的最大長度,如果未指定,預設為128。

返回值:成功時返回一個監聽套接字資源,失敗時返回 FALSE。

示例:

$host = 'localhost';
$port = 8000;

$socket = socket_create_listen($port);

if ($socket === false) {
    echo "無法建立監聽套接字: " . socket_strerror(socket_last_error()) . PHP_EOL;
    exit;
}

echo "正在監聽 {$host}:{$port}..." . PHP_EOL;

while (true) {
    $clientSocket = socket_accept($socket);
    
    if ($clientSocket === false) {
        echo "無法接受連線請求: " . socket_strerror(socket_last_error($socket)) . PHP_EOL;
        break;
    }
    
    // 處理客戶端請求...
    
    socket_close($clientSocket);
}

socket_close($socket);

以上示例中,我們建立了一個監聽套接字,並在指定的埠上監聽連線請求。然後,透過迴圈等待客戶端的連線請求,並在接受連線後進行相應的處理。在處理完成後,關閉客戶端套接字,繼續監聽其他連線請求。最後,關閉監聽套接字。

補充糾錯
上一個函式: socket_create_pair()函式
下一個函式: socket_create()函式
熱門PHP函式
分享連結