Пример #1
0
 public function publish($mqtt, \sskaje\mqtt\Message\PUBLISH $publish_object)
 {
     $topic = $publish_object->getTopic();
     $message = $publish_object->getMessage();
     if ($topic === 'sskaje/bot/login') {
         $this->online_agents[$message] = 1;
         $mqtt->publish_async('sskaje/bot/' . $message, 'Welcome, ' . $message, 1);
         $mqtt->publish_async('sskaje/bot/broadcast', $message . ' is online.', 1);
         echo "{$message} is online\n";
     } else {
         if ($topic === 'sskaje/bot/logout') {
             unset($this->online_agents[$message]);
             $mqtt->publish_async('sskaje/bot/broadcast', $message . ' is offline.', 1);
             echo "{$message} is offline\n";
         } else {
             if ($topic === 'sskaje/bot/status') {
                 $mqtt->publish_async('sskaje/bot/broadcast', 'There are ' . count($this->online_agents) . ' agent(s) online', 1);
                 echo "someone is querying status\n";
             }
         }
     }
 }
Пример #2
0
 public function publish(MQTT $mqtt, \sskaje\mqtt\Message\PUBLISH $publish_object)
 {
     printf("I got a message:(msgid=%d, QoS=%d, dup=%d, topic=%s) %s\n", $publish_object->getMsgID(), $publish_object->getQoS(), $publish_object->getDup(), $publish_object->getTopic(), $publish_object->getMessage());
 }