HRH
4 سال پیش توسط HRH مطرح شد
1 پاسخ

مشکل در دریافت اطلاعات در socket.io

سلام دوستان .
بنده در حال کار با 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 نمیشه


ثبت پرسش جدید
سهیل حیدری
@hbr 4 سال پیش مطرح شد
0

خب باید بگید

io.on('connection',function(socket){

که موقع سوکت خوردن چه اتفاقی بیفته


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام