Asynchronous MQTT-клиент для PHP на основе swoole.
composer require try-to/swoole_mqtt
subscribe.php
<?php
use TrytoMqtt\Client;
require_once __DIR__ . '/vendor/autoload.php';
$options = [
'clean_session' => false,
'client_id' => 'demo-subscribe-123456',
'username' => '',
'password' => ''
];
$mqtt = new Client('127.0.0.1', 1883, $options);
$mqtt->onConnect = function ($mqtt) {
$mqtt->subscribe('/World');
};
$mqtt->onMessage = function ($topic, $content) {
var_dump($topic, $content);
};
$mqtt->onError = function ($exception) use ($mqtt) {
echo "error\n";
// $mqtt->reconnect(1000);
};
$mqtt->onClose = function () {
echo "close\n";
};
$mqtt->connect();
Запустить командой php subscribe.php
publish.php
<?php
use TrytoMqtt\Client;
require_once __DIR__ . '/../vendor/autoload.php';
$options = [
'clean_session' => false,
'client_id' => 'demo-publish-123456',
'username' => '',
'password' => ''
];
$mqtt = new Client('127.0.0.1', 1883, $options);
$mqtt->onConnect = function ($mqtt) {
$mqtt->publish('/World', 'hello swoole mqtt');
};
$mqtt->onError = function ($exception) {
echo "error\n";
};
$mqtt->onClose = function () {
echo "close\n";
};
$mqtt->connect();
Запустить командой php publish.php
$host
Service address.
$port
port.
$options
is the client connection options. Defaults:
keepalive
: 50
seconds, set to 0
to disableclient_id
: client id, default swoole-mqtt-client-{$mt_rand}
protocol_name
: 'MQTT'
or 'MQIsdp
'protocol_level
: 'MQTT'
is 4
and 'MQIsdp
' is 3
clean_session
: true
, set to false to receive QoS 1 and 2 messages while
offlinereconnect_period
: 1
second, interval between two reconnectionsconnect_timeout
: 30
senconds, time to wait before a CONNACK is receivedusername
: the username required by your broker, if anypassword
: the password required by your broker, if anywill
: a message that will sent by the broker automatically when
the client disconnect badly. The format is:
topic
: the topic to publishcontent
: the message to publishqos
: the QoSretain
: the retain flagresubscribe
: if connection is broken and reconnects,
subscribed topics are automatically subscribed again (default true
)bindto
default '', used to specify the IP address that PHP will use to access the networkssl
default false
, it can be set true
or ssl context
see http://php.net/manual/en/context.ssl.php
debug
default false
, set true
to show debug infoConnect service __construct($host, $port, $options)
.
Reconnect service __construct($host, $port, $options)
.
Publish a message to a topic
$topic
is the topic to publish to, String
$message
is the message to publish, String
$options
is the options to publish with, including:
qos
QoS level, Number
, default 0
retain
retain flag, Boolean
, default false
dup
mark as duplicate flag, Boolean
, default false
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )