我有一个用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 客户端库的方法。