我正在使用 laravel-echo 和 redis 驱动程序来广播通知。它在我的本地系统上完美运行。但是在我的服务器上,我遇到了ERR_CONNECTION_TIMED_OUT
错误。浏览器控制台显示http://ex.example.com:6001/socket.io/socket.io.js net::ERR_CONNECTION_TIMED_OUT
.
我对socket和redis一无所知。所以我只是按照laravel 官方文档和laravel-echo-server 的指示。并从这里只做了一个改变。但是在这种变化的帮助下,我可以让执行剩余的 js 脚本。socket.io.js 的问题仍未解决(也在github中)。
这是我遵循的步骤。
- 关注Laravel 官方文档
- 安装Redis 服务器
- 安装laravel-echo-server
- 在我的项目中安装socket.io-clent
js
import Echo from "laravel-echo"
window.io = require('socket.io-client'); //suggested in github issue
window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001'
});
laravel-echo-server.json
{
"authHost": "http://ex.example.com",
"authEndpoint": "/broadcasting/auth",
"clients": [
{
"appId": "edbf10287972d875",
"key": "96403c9f93e1a2d86185e2d21aa0fae1"
}
],
"database": "redis",
"databaseConfig": {
"redis": {},
"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},
"devMode": true,
"host": null,
"port": "6001",
"protocol": "http",
"socketio": {},
"sslCertPath": "",
"sslKeyPath": ""
}
如果有人知道解决方案,将不胜感激。