查詢

EventHttpConnection::setCloseCallback()函式—用法及示例

「 設定在連線關閉時呼叫的回撥函式 」


函式名稱: EventHttpConnection::setCloseCallback()

適用版本: PHP 5 >= 5.4.0, PECL event >= 1.8.0

用法: void EventHttpConnection::setCloseCallback ( callable $callback [, string $data ] )

說明: EventHttpConnection::setCloseCallback() 方法用於設定在連線關閉時呼叫的回撥函式。

引數:

  • $callback: 一個可呼叫的回撥函式,當連線關閉時會呼叫該函式。這個回撥函式應該接受兩個引數: 連線資源和使用者自定義資料。
  • $data (可選): 使用者自定義的資料,會作為第二個引數傳遞給回撥函式。如果不提供該引數,則回撥函式只會接受連線資源作為引數。

示例: 下面是一個示例程式碼,展示瞭如何使用EventHttpConnection::setCloseCallback() 方法設定連線關閉時的回撥函式。

// 建立EventBase物件和EventHttp物件
$base = new EventBase();
$http = new EventHttp($base);

// 建立EventHttpConnection物件,指定連線的監聽主機和埠
$connection = new EventHttpConnection($base, null, "127.0.0.1", 80);

// 設定連線關閉時的回撥函式
$connection->setCloseCallback(function ($connection, $data) {
    echo "連線關閉了!\n";
    var_dump($data); // 列印使用者自定義的資料
}, "Hello, world!");

// 關聯EventHttp物件和EventHttpConnection物件
$http->setConnection($connection);

// 檢測連線狀態並進行事件迴圈
$base->loop();

在上面的示例中,我們首先建立了一個EventBase物件和一個EventHttp物件。然後,用指定的主機和埠建立了一個EventHttpConnection物件。接下來,我們使用setCloseCallback()方法設定連線關閉時的回撥函式,並傳遞了一個字串 "Hello, world!" 作為使用者自定義資料。最後,透過呼叫EventBase物件的loop()方法,開始事件迴圈。當連線關閉時,我們的回撥函式會被呼叫並列印一條訊息,同時輸出使用者自定義的資料。

補充糾錯
熱門PHP函式
分享連結