سلام دوستان .
بنده در حال کار با socket.io در لاراول هستم . .ولی یه مشکل دارم . همه کد هام به نظرم هست درست هستش ولی وقتی event رو صدا می زنم هیچ چیزی برای socket نمی آد.
کد کنترلر:
public function index(){
event(new sendMessage('Hi .'));
return "Done";
}
کد های event :
class sendMessage implements ShouldBroadcastNow
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $message;
public function __construct($message)
{
$this->message = $message;
}
public function broadcastOn()
{
return new Channel('message');
}
public function broadcastAs()
{
return 'receive';
}
}
و کد های فایل socket.js هم که توی root پروژه هستش:
let server = require('http').Server()
let io = require('socket.io')(server);
let Redis = require('ioredis');
let redis = new Redis();
redis.subscribe('message');
redis.on('receive',function(channel,data){
console.log('OK');
console.log(data)
})
server.listen(3000,function(){
console.log("Server is listening on Port 3000")
})
توی .env هم مقدار BROADCAST_DRIVER
هم برابر redis تنظیم کرده ام.ولی وقتی event رو صدا می زنم هیچ اتفاقی نمی افته . در واقع وارد ایوِنت receive توی فایل socket.js نمیشه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟