如何解决Laravel 与 Vuejs 和 Redis , laravel-echo , socketio-client
我正在使用带有 vuejs 3 (SPA) 的 laravel 8,并希望使用 redis、laravel echo 和 socketio 客户端实时应用程序。
如果我没记错的话流程是这样的 laravel 服务器 redis 服务器 laravel-sech-server socketio-client-server.
但是当我运行 laravel-eacho-server start 时,它给出了这个错误,我认为 redis 配置文件有问题。 the is the error it shows but the is no errors in console 应用程序/事件文件我有 TestEvent
<?php
namespace App\Events;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
class TestEvent implements ShouldBroadcastNow
{
use InteractsWithSockets,SerializesModels;
public function __construct()
{
}
public function broadcastAs()
{
return 'UserEvent';
}
public function broadcastWith()
{
return ['title'=>'some notification'];
}
public function broadcastOn()
{
return new Channel('test');
}
}
在主 vuejs 文件中,它是 root 的子级。 在它的创建函数中
created(){
Echo.channel('test')
.listen('TestEvent',e => {
console.log(e)
});
},
bootstrap.js 文件内(laravel-echo 服务器和 socketio-client 服务器之间的连接~对)
import Echo from "laravel-echo"
window.io = require('socket.io-client');
window.Echo = new Echo({
broadcaster: 'socket.io',host: window.location.hostname + ':6001' // this is laravel-echo-server host
});
.evn 文件内
BROADCAST_DRIVER=redis
CACHE_DRIVER=file
QUEUE_CONNECTION=redis
QUEUE_DRIVER=redis
SESSION_DRIVER=file
SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1
LARAVEL_ECHO_PORT=6001
REDIS_CLIENT=predis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
最后是 laravel-echo-server.json
{
"authHost": "http://localhost","authEndpoint": "/api/broadcasting/auth","clients": [],"database": "redis","databaseConfig": {
"redis": {
},"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},"devMode": true,"host": null,"port": "6001","protocol": "http","socketio": {},"secureOptions": 67108864,"sslCertPath": "","sslKeyPath": "","sslCertChainPath": "","sslPassphrase": "","subscribers": {
"http": true,"redis": true
},"apiOriginAllow": {
"allowCors": false,"allowOrigin": "","allowMethods": "","allowHeaders": ""
}
}
我也在运行 redis 服务器 redis-server.exe
如果可能的话,如果有任何关于此事的材料可以分享,我们将不胜感激。 并且它也可以与
一起运行laravel 服务器 redis 服务器 nodejs-server (socketio-server) socketio-client-server。 (在这种流程中找不到任何示例)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。