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

时间:2016-08-05 11:53:39

标签: cordova laravel ionic-framework socket.io chat

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

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

所以问题是没有改变堆栈,我怎样才能实现它。我目前的堆栈是服务器端的 cordova,ionic,然后是laravel mysql

这可以通过当前堆栈来实现吗?

感谢您的帮助。

干杯!

1 个答案:

答案 0 :(得分:4)

是的,它可以用这个堆栈完成 - 我自己完成了,我写了a blog post关于如何这样做。 Laravel文档也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。

希望这是有道理的。如果您需要有关如何完成此任务的更多信息,请与我们联系。