在 API 结束时使用 Ionic 和 laravel 进行实时聊天

Real time chat using Ionic and laravel at API end

我正在开发一些离子应用程序,其中 laravel 用于 api。对具有实时聊天功能有一些需求。

我一直在尝试使用 socket.io 之类的东西。

所以问题是不改变堆栈,我怎样才能实现它。我当前的堆栈是 cordova 、 ionic ,然后是 laravel mysql for server side 。

这可以用当前的堆栈实现吗?

提前感谢您的帮助。

干杯!

是的,可以用这个堆栈来完成 - 我自己已经完成了,并且我写了关于这个的 a blog post about how to do so. The Laravel documentation also goes into some detail。我们的应用程序没有使用 Ionic,但其他情况基本相同。

大意如下:

  • 消息像往常一样通过 POST 请求提交给 REST API
  • 提交消息时,控制器会触发 NewMessage 事件
  • 此事件设置为可广播,并使用 Redis 驱动程序(您可能更喜欢使用 Pusher,但我使用的是 Redis 和 Socket.io)
  • 一个单独的 Node.js 脚本监听 NewMessage 事件,当它触发时,将消息发送给所有连接的客户端(或者如果聊天是私人的,只有合适的客户端)
  • 在使用 socket.io-client 收到消息后,将采取适当的操作,例如将消息插入 DOM

您唯一需要添加到堆栈的是 Node.js 和 Redis。我遇到的最大问题是配置 Nginx,但这部分是因为我使用的是 SSL。

希望这是有道理的。如果您需要有关如何完成此操作的更多信息,请告诉我。