Skip to content

Instantly share code, notes, and snippets.

@moaalaa
Last active March 18, 2025 12:15
Show Gist options
  • Select an option

  • Save moaalaa/2dd3cdfc46f6ea1bddf322af73cb973f to your computer and use it in GitHub Desktop.

Select an option

Save moaalaa/2dd3cdfc46f6ea1bddf322af73cb973f to your computer and use it in GitHub Desktop.
Realtime work around
<?php
namespace MixCode\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Broadcast;
class BroadcastServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
if (request()->hasHeader('authorization')){
Broadcast::routes(['middleware' => 'auth:api']);
} else {
Broadcast::routes();
}
require base_path('routes/channels.php');
}
}
Echo.connector.socket.on("connect", () => {
console.log("Connected");
});
// Listen to sender incomming messages
Echo.private(`new-message.${this.sender.id}`).listen(
".new_chat_message",
e => {
console.log(e);
this.messages.push({
message: e.message,
sender: e.sender,
receiver: e.receiver,
is_sender: false,
is_receiver: true
});
}
);
Echo.connector.socket.on("disconnect", () => {
console.log("Disconnected");
});
var config = {
auth: {
headers: {
// "X-CSRF-TOKEN": document.head.querySelector('meta[name="csrf-token"]').content,
"Authorization": "Bearer TOKEN"
}
},
host: "127.0.0.1:6001"
};
var socket = io(config.host, config);
console.log(socket);
socket.on("connect", () => {
console.log("Connected");
});
socket.on("disconnect", () => {
console.log("Disconnected");
});
// Socket channel subscription
const subscribe = () => {
socket.emit("subscribe", {
channel: `private-new-message.${this.sender.id}`,
auth: config.auth
});
};
subscribe();
// Reconnecting your channel "private-" using laravel echo server 'reconnect' channel.
socket.on("reconnect", subscribe);
// Socket.on will return channel name and the data "channel event name with out '.' before it"
socket.on("new_chat_message", (channel, e) => {
console.log(channel, e);
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment