实时更新来自laravel的前端数据

实时更新来自laravel的前端数据,laravel,websocket,push-notification,web-frontend,Laravel,Websocket,Push Notification,Web Frontend,或原始问题 我对PHP web开发和Laravel比较陌生,正在寻找一种实时更新前端数据的好方法。我正在开发一个简单的基于网络的游戏,可以与多个玩家一起玩。当一个玩家轮到他时,所有玩家前端的数据都需要更新 我知道有两种方法可以做到这一点 网匣: 默认情况下,Laravel不支持WebSocket,这意味着我需要使用第三方服务,如socket IO。因为我只想在“正常”的web主机上运行我的应用程序,所以这不是一个选项 推送消息:我也可以将推送消息与Pusher或firebase等服务一起使用,但

或原始问题 我对PHP web开发和Laravel比较陌生,正在寻找一种实时更新前端数据的好方法。我正在开发一个简单的基于网络的游戏,可以与多个玩家一起玩。当一个玩家轮到他时,所有玩家前端的数据都需要更新

我知道有两种方法可以做到这一点

  • 网匣: 默认情况下,Laravel不支持WebSocket,这意味着我需要使用第三方服务,如socket IO。因为我只想在“正常”的web主机上运行我的应用程序,所以这不是一个选项
  • 推送消息:我也可以将推送消息与Pusher或firebase等服务一起使用,但在使用免费帐户或需要超过x个资源后需要付款时,此选项有限制。这不是我喜欢的
  • 有没有一种方法可以在不使用第三方服务或不在服务器上安装第三方应用程序的情况下更新前端数据


    与前面的问题不同,我很好奇推送消息(以及最终建议的解决方案)是否也适用于移动浏览器


    问题更新: 在Yeeooow的评论之后,我注意到我需要提出不同的问题。也许我需要多解释一下我的“问题”,并要求解决这个问题


    在我的游戏中,一个玩家决定他的回合何时结束,他可以与其他玩家交换一张牌。在这两种情况下,都需要更新所有玩家的数据。我使用Vue作为前端,使用Laravel作为后端。实现我的需求的最佳实践是什么?

    您可以将WebSocket与类似laravel的工具一起使用
    我曾在laravel中使用过它,但您不能在共享主机上使用它,因为您需要导入ZMQ并打开一些端口,而这在共享主机上不可用。它在VPS或专用主机上可用。对于实时游戏,您需要使用web套接字。Laravel内置了广播支持,甚至Laravel Echo也有Javascript支持。说Laravel不支持这是无效的。当谈到实时应用程序时,没有办法不使用第三方。另外,Laravel支持实时更新可能您可以在这里查看。。你说“实时更新我的前端数据”,但你的游戏听起来(推断)是基于回合的。为什么不直接使用ajax,或者考虑使用Vue呢。无需过于复杂,这两个选项都适用于共享主机。@是的,我已经在前端使用vue,但当玩家x完成轮到时,我如何通知其他用户?游戏中还有一个“交易卡”功能,在这种情况下也需要通知玩家。我认为“实时”是这里最好的选择。。。我对所有的解决方案都持开放态度,所以对yours@RoDo-我指的是实时问题,因为您需要实时信息,但游戏听起来是基于回合的,有些人认为(再次推断)游戏本身是实时的(如FPS,小但重要的区别)。我会这样处理它,把游戏想象成DB中的一个记录(很可能是那个记录或一组数据点)-当轮到一个人时,记录在轮到他们完成时锁定给他们,其锁定给下一个人等。重新卡交易-这是相同的想法,但在不同的表上,锁定给可以发起交易的用户等