Я намагаюся використовувати jaxl 3.0 для сповіщень за допомогою xmpp. Єдине, я не можу сказати, як я можу завершити роботу сервера JAXL після завершення роботи? Неможливо побачити будь-які зворотні виклики для зупинки jaxl-сервера
Ось частина мого коду
public function __construct(JAXL $jaxl){
$this->client=$jaxl;
$this->client->add_cb("on_auth_success", array($this,"send"));
}
public function setSenders($senders){
$this->senders=$senders;
}
public function addLine($messagePart){
$this->message.=$messagePart.PHP_EOL;
}
public function notify(){
$this->client->start();
}
public function send(){
foreach($this->senders as $sender){
$this->client->send_chat_msg($sender,$this->message);
}
//Here server should be stopped. Everything is done.
}
Відповіді:
2 для відповіді № 1Вам потрібно зателефонувати $client->send_end_stream();
де $client
є екземпляром JAXL. Це дозволить відправити кінцевий пакет потоку xmpp. Ви також можете зареєструвати зворотний дзвінок для on_disconnect
подія, яка викликається, коли приклад JAXL успішно закрив зв'язок із сервером. Подивитися приклади / echo_bot.php для більш детальної інформації (він використовує обидві ці).