私はRedis、Laravel Echo、Laravel Echo Server、およびsocket.ioを使用して簡単なイベントをブロードキャストしようとしています。 私はクライアント側ですべてを手に入れました。メッセージは実際にブロードキャストされており、laravelエコーサーバーがそれに取り組んでいます。Laravel Echoはフレームを受信しますがトリガーはしません
chat.devで私はクライアントに参加しています。 chat.dev/newで私はイベントが放送されている。
[5:14:31 PM] - HvEq_a12YnQFJGFiAAAE joined channel: chat
Channel: chat
Event: message.created
CHANNEL chat
だから、すべてが機能しているようです。クライアント側では、socket.ioを含めて見つけています。
<script src="//{{ Request::getHost() }}:6001/socket.io/socket.io.js"></script>
それから私は
import Echo from 'laravel-echo'
window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001'
});
window.Echo.channel('chat')
.listen('.message.created', (e) => {
console.log("Got message");
});
を実行しているしかし、何もコンソールに記録されていません。どうして?
多くの手抜きをした後、フレームが受信されています。しかし、.listenはそれをキャプチャしていません。
42["message.created", "chat", {,…}]
0
:
"message.created"
1
:
"chat"
2
:
{,…}
message
:
{id: 23, body: "Modified", created_at: "2017-07-19 01:11:18", updated_at: "2017-07-19 01:11:18"}
socket
:
null
それぞれのRedditとGitHubの問題のリンクです。
誰もが言う前に、私は "message.created"を最初のドットなしで試しました。 Nothing –