Push events to browsers in real-time with Laravel Echo, Pusher, or the self-hosted Reverb server.
Broadcasting with Pusher/Reverb
// Event
class MessageSent implements ShouldBroadcast {
use InteractsWithSockets;
public function __construct(public Message $message) {}
public function broadcastOn(): Channel {
return new PrivateChannel("chat.".$this->message->room_id);
}
public function broadcastAs(): string {
return "message.sent";
}
}
// Broadcast
broadcast(new MessageSent($message));
// JavaScript (Laravel Echo)
import Echo from "laravel-echo";
window.Echo = new Echo({ broadcaster: "pusher", key: "your-key" });
Echo.private("chat.1").listen(".message.sent", (e) => {
console.log("New message:", e.message);
});