我正在尝试使用 redis 和 socket.io 在 heroku 上设置一个聊天应用程序,但我无法弄清楚我应该在客户端放置什么 uri。
我尝试过的所有 uri,给我一个 404、name_not_resolved 或超时错误。
我有一个运行 node.js buildpack 的 heroku 应用程序,它所做的只是运行 socket.js 文件。
我还有另一个 php heroku 应用程序,它有 laravel 后端和 redis 广播和一个 vue 前端。
广播设置为当有人发布帖子或发出 '/' 的 GET 请求时,会分别在 'new-post-channell' 和 'user-entered-chat-channel' 上触发一个事件。
我可以进入 socket.js 应用程序的 bash 并运行“node socket.js”。我可以看到它连接到 heroku 的 redis 插件亚马逊服务器并接收广播。
我还可以进入第二个应用程序的 heroku 的 redis-cli,进入监控模式,并查看广播是否按预期接收。
这一切都在一个流浪的宅基地虚拟服务器上工作,但在 heroku 上却没有。
var socket = io('redis://h:oaisuhaosiufhasodiufh@ec2-99-81-167-43.eu-west-1.compute.amazonaws.com:6639');
(也许您还知道如何在我的第一个应用程序上自动运行“node socket.js”命令,这样我就不必进入 heroku 的 bash 并手动运行它?)