首页 > 解决方案 > laravel-websockets 连接到没有 laravel-echo 的通道

问题描述

我有一个用laravel-websockets包实现的 websocket 服务器,它在一些私人频道上广播数据。目前服务器不支持双向通信。我想让任何人都能够通过使用身份验证令牌连接到这个 websocket 来公开这个。但我找不到任何有用的信息。

目前我正在使用 laravel-echo 和 pusher-js 从一个可以正常工作的单独应用程序连接。但是如果有人不想使用这些包怎么办,即连接到这个套接字的 nodejs 实现是什么。

作为参考,这里是我laravel-echo连接到这个套接字的实现。

import Echo from 'laravel-echo';

window.Pusher = require('pusher-js');
window.Echo = new Echo({
    broadcaster: 'pusher',
    key: '{appkey}',
    wsHost: '{sockethosturl}',
    wsPort: 6001,
    forceTLS: false,
    authEndpoint: '{auth endpoint on socket server}',
    disableStats: true,
    auth: {
        headers: {
            'Auth-Token': '{ random auth token }',
        }
    }
});

然后我使用这个订阅频道

Echo.private('private-channel-1')
    .listen('.update', (event) => {
         console.log("Found event");
         console.log(event);
     });

寻找一种将其转换为socket-io或任何其他 websocket 客户端库的方法。

标签: laravelwebsocketsocket.iolaravel-echolaravel-websockets

解决方案


推荐阅读