在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:yii2-swoole-mqtt开源软件地址:https://gitee.com/immusen/yii2-swoole-mqtt开源软件介绍:MQTT For Yii2 Base On Swoole 4MQTT server for Yii2 base on swoole 4, Resolve topic as a route reflect into controller/action/param, And support redis pub/sub to trigger async task from your web application InstallationInstall Yii2: Yii2. Install swoole: swoole, recommend version 4+. Other dependency: php-redis extension. The preferred way to install this extension is through composer. Either run php composer.phar require --prefer-dist immusen/yii2-swoole-mqtt "~1.0" or add "immusen/yii2-swoole-mqtt": "~1.0" to the require section of your Test or Usage# after installation, cd project root path, e.g. cd yii2-advanced-project/mv vendor/immusen/yii2-swoole-mqtt/example/mqtt ./mv vendor/immusen/yii2-swoole-mqtt/example/mqtt-server ./chmod a+x ./mqtt-server# run:./mqtt-server# config :cat ./mqtt/config/params.php<?phpreturn [ 'listen' => 8721, 'daemonize' => 0, 'auth' => 1, // config auth class in ./main.php];# or coding in ./mqtt/controllers/ Test client: MQTTLens, MQTT.fx Example:Case A: Subscribe/Publish
Case B: Publish(Notification Or Report)
Coding:MQTT subscribe topic: "channel/count/100001" will handle at: class ChannelController{ public function actionCount($channel_id){ echo "client {$this->fd} subscribed the count change of channel {$channel_id}"; } }
MQTT Publish Topic: "channel/join/100001" with payload: "Foo" will handle at: class ChannelController{ public function actionJoin($channel_id, $who){ echo "{$who} join in channel {$channel_id}"; #then broadcast update to all client who subscribed channel 100001 #$this->publish($fds, $sub_topic, $count); } }
MQTTAbout MQTT: MQTT Version 3.1.1 Plus Errata 01
|
请发表评论