полный исходный код здесь, если вы хотите увидеть
Клиент JavaScript отправляет сообщение в чат:
Код: Выделить всё
function click_send_btn() {
var json_data = {
"message": $.trim($("#input_message").val())
};
sess.publish("send_message", json_data, true);
}
Сервер PHP Ratchet публикует сообщение:
Код: Выделить всё
public function onPublish(\Ratchet\ConnectionInterface $conn, $topic, $event, array $exclude, array $eligible) {
switch ($topic) {
case 'http://localhost/enter_room':
$foundChater = $this->allChater[$conn];
$newChaterName = $event['username'];
$foundChater->setChatName($newChaterName);
break;
case 'send_message':
$foundChater = $this->allChater[$conn];
$event['username']=$foundChater->getChatName();
break;
}
$topic->broadcast($event);
echo "onPublish {$conn->resourceId}\n";
}
Я не понимаю, почему публикация с исключением не работает.
В приведенных выше двух Firefox правый Firefox сказал: I я бар. Сообщение не должно отображаться у самого себя, но оно есть.
Ссылка на документ: публикация javascript для автобана версии 1 с исключением
Ссылка на документ: Ratchet onpublish
Ссылка на документ: трансляция темы Ratchet
Подробнее здесь: https://stackoverflow.com/questions/251 ... ish-caller