首頁 PHP 函式庫 其它類別庫 php-rdkafka客戶端程式庫
php-rdkafka客戶端程式庫

這是一個可以發送和接受訊息的客戶端,下面給大家示範一下發送和接受的操作,需要的朋友可以自行下載後嘗試一下。

發送訊息

<?phptry {
    $rcf = new RdKafka\Conf();
    $rcf->set('group.id', 'test');
    $cf = new RdKafka\TopicConf();
    $cf->set('offset.store.method', 'broker');
    $cf->set('auto.offset.reset', 'smallest');
    $rk = new RdKafka\Producer($rcf);
    $rk->setLogLevel(LOG_DEBUG);
    $rk->addBrokers("127.0.0.1");
    $topic = $rk->newTopic("test", $cf);
    for($i = 0; $i < 1000; $i++) {
        $topic->produce(0,0,'test' . $i);//没有setMessge接口了,使用produce  参考:https://libraries.io/github/mentionapp/php-rdkafka
    } 
} catch (Exception $e) {
    echo $e->getMessage();

接收訊息

<?phptry {
    $rcf = new RdKafka\Conf();
    $rcf->set('group.id', 'test');
    $cf = new RdKafka\TopicConf();/*
    $cf->set('offset.store.method', 'file');
*/
    $cf->set('auto.offset.reset', 'smallest');
    $cf->set('auto.commit.enable', true);
    $rk = new RdKafka\Consumer($rcf);
    $rk->setLogLevel(LOG_DEBUG);
    $rk->addBrokers("127.0.0.1");
    $topic = $rk->newTopic("test", $cf);    //$topic->consumeStart(0, RD_KAFKA_OFFSET_BEGINNING);
    while (true) {
        $topic->consumeStart(0, RD_KAFKA_OFFSET_STORED);
        $msg = $topic->consume(0, 1000);
        var_dump($msg);        if ($msg->err) {            echo $msg->errstr(), "\n";            break;
        } else {            echo $msg->payload, "\n";
        }
        $topic->consumeStop(0);
        sleep(1);
    }
} catch (Exception $e) {    echo $e->getMessage();
}


#
免責聲明

本站所有資源皆由網友貢獻或各大下載網站轉載。請自行檢查軟體的完整性!本站所有資源僅供學習參考。請不要將它們用於商業目的。否則,一切後果都由您負責!如有侵權,請聯絡我們刪除。聯絡方式:admin@php.cn

相關文章

如何使用Go客戶端程式庫監控Kubernetes服務變化? 如何使用Go客戶端程式庫監控Kubernetes服務變化?

27 Nov 2024

使用 Go 用戶端程式庫監控 Kubernetes 服務變更Kubernetes 服務對於公開應用程式和管理流量至關重要。它是...

客戶端與伺服器端程式設計:JavaScript 和 PHP 如何互動? 客戶端與伺服器端程式設計:JavaScript 和 PHP 如何互動?

05 Jan 2025

了解客戶端和伺服器端程式設計之間的差異提供的程式碼說明了客戶端和...

如何修復'MySQL 客戶端庫版本不正確!” Rails 應用程式出錯? 如何修復'MySQL 客戶端庫版本不正確!” Rails 應用程式出錯?

02 Dec 2024

Rails 應用程式 MySQL 連線錯誤嘗試透過 Rails 應用程式連接到 MySQL 伺服器時,可能會發生錯誤:不正確...

客戶端與伺服器端程式設計:有什麼區別? 客戶端與伺服器端程式設計:有什麼區別?

29 Dec 2024

客戶端與伺服器端程式設計:詳細探索程式設計領域包含兩種不同的範例:客戶端...

取得客戶端使用作業系統類型的php程式碼 取得客戶端使用作業系統類型的php程式碼

25 Jul 2016

取得客戶端使用作業系統類型的php程式碼

如何使用假客戶端測試 Client-Go 程式碼? 如何使用假客戶端測試 Client-Go 程式碼?

24 Oct 2024

本文示範了使用假客戶端在 Kubernetes 中測試客戶端 Go 程式碼。它解決的主要問題是為與外部 API 互動的函數編寫單元測試的挑戰。提出的解決方案是利用假客戶端

See all articles