【问题标题】:Laravel-4 Live content updating for users on local serverLaravel-4 本地服务器上用户的实时内容更新
【发布时间】:2013-12-31 00:41:37
【问题描述】:

我正在使用 laravel 4 构建一个应用程序,其中包含管理员输入的信息,并且信息显示在另一座建筑物的另一个屏幕上。比如Admin下新订单新客户,生产需要看到当前订单。我一开始是想用的。

setInterval() or setTimeout()

在屏幕的生产侧。有用!!但是,我发现让服务器不断刷新并没有什么好处。我已经搞砸了一些套接字编程,至少我理解的是。虽然,我觉得好像我在错误的地方寻找和研究。有谁知道我如何实现一个将新数据直接推送到视图的实时应用程序。例如。当管理员下订单时......这会触发和事件。该事件将新的数据库内容推送给查看特定视图的任何人? (无需查看者刷新页面。)

这怎么可能?因为我感到迷茫!

  • 另请注意:如果它有助于使用本地计算机,它将在公司服务器上运行。

我正在使用 laravel 4 + MAMP + bootstrap

【问题讨论】:

  • 当您尝试在客户端和服务器之间建立双向通信时,WebSockets 应该正是您所需要的。所以你需要一些服务器端的 PHP 套接字库和客户端的 JavaScript 库。
  • @Quasdunk 我找到了一个名为brain-socket 的laravel 包。我不太确定这是否是正确的图书馆。它是 Ratchet 的 laravel 实现。但是,你是说我需要一个用于 php 和 javascript 的套接字库吗?
  • @user3095721 是的,BrainSocket 看起来很不错。只要您的应用程序中发生某些事情(例如出现新订单),您就可以触发一个事件,然后由 BrainSocket 处理。所以你在一个打开的套接字上发送一些数据。另一方面,客户端,您需要在套接字上接收数据,然后将其放在屏幕上。因此,您需要在客户端使用 JavaScript 1. 接收数据(使用 WebSockets 库)和 2. 操作 DOM。它很像 Ajax 以及您现在的操作方式,只是您不通过调用 URL 而是通过侦听套接字来检查数据。
  • @user3095721 我刚刚看到还有一个BrainSocket的JavaScript实现,所以两者应该可以很好地协同工作:github.com/BrainBoxLabs/brain-socket-js

标签: mysql jquery laravel websocket laravel-4


【解决方案1】:

在花了几个小时尝试实现不同的方法后,我终于遇到了这个问题。我花了大约 10 分钟,这可能是我能找到的最酷、最简单的方法 http://www.volkomenjuist.nl/blog/2013/10/20/laravel-4-and-nodejsredis-pubsub-realtime-notifications/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    • 2013-10-16
    • 2020-09-05
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2015-01-18
    相关资源
    最近更新 更多