Laravel 5.6事件广播

时间:2018-07-18 06:10:27

标签: android ios laravel socket.io laravel-5.6

如何在没有按钮的情况下实现事件广播? 我使用状态通道,我的Api使用laravel护照。然后我设置了BROADCAST_DRIVER=redis 我可以让laravel echo服务器在客户端上不使用laravel echo的情况下使用,因为我的客户端是ios / android应用程序 在Web部件上,我测试了ID,但不起作用

<script src="http://my.local:6001/socket.io/socket.io.js"></script>
<script>
    var socket = io('http://my.local:6001', {
        extraHeaders: {
            Authorization: "Bearer someRandomString"
        }
    })

    // socket.join('rooms.1')
    socket.on('rooms.1:App\\Events\\RoomCreated', function (data) {
        console.log(data)
    })
</script>

我的活动

public function __construct(Room $room)
{
    $this->room = $room;
}

public function broadcastOn()
{
    return new PresenceChannel('rooms.' . $this->room->category_id);
}

public function broadcastAs()
{
    return 'room.created';
}

这怎么办?

UPD

我能够连接到状态频道

var options = {
        auth: {
            headers: {'Authorization': 'Bearer someRandomString'}
        }
    }
    var socket = io('http://my.local:6001', options)

    socket.emit('subscribe', {
        channel: 'presence-rooms.1',
        auth: options.auth
    }).on('room.created', function (channel, data) {

        console.log('data: ' + data)
    })

但是我的on('room.created')...无法正常工作怎么解决?

UPD2

on('App\\Events\\RoomCreated')...有效,但是为什么room.created不起作用?

0 个答案:

没有答案