我刚刚为 Ratchet WAMP + autobahn 版本 1 制作了一个聊天 hello world。
如果您想查看完整的源代码,请点击此处
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"; }
我不明白为什么用 excludeme 发布不起作用。
在上面2个firefox,对firefox说:我是吧。该消息不应该显示在他自己身上,但确实如此。