如何管理在同一屏幕上工作的多个用户?

时间:2014-04-29 14:03:32

标签: javascript jquery

我正在实施一个购物车网站,可以同时由多个供应商使用。

我有一个要求 当新订单进入时,订单状态应为黄色(新订单),如果任何供应商接受订单状态,则应转为蓝色(处理状态)

我对这种情况很困惑:

假设有4家供应商同时关注订单,新订单最初以黄色显示,其中一家供应商接受订单,如何将该订单的颜色更改为其他3家供应商的蓝色??

有关如何实现此类要求的任何建议??

4 个答案:

答案 0 :(得分:2)

您需要一个服务器端解决方案,因为您需要一个持久连接才能与所有客户端保持打开状态。

您使用的解决方案取决于您的服务器设置,但此堆栈溢出帖子是一个很好的介绍:What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?

答案 1 :(得分:0)

您需要让每个客户端轮询(连续ajax请求)服务器进行状态更改,或者让它们通过套接字连接到服务器并让服务器推送状态更改事件。

轮询是更加耗费资源但更容易实现,而套接字在服务器负载上变得容易,但需要更深入的理解和可能更多的编程。

答案 2 :(得分:0)

取决于你的应用程序,可能会有很多解决方案,但这里有一个适合我的方法:
让4个供应商通过websocket连接到您的应用服务器 当一个人接受订单时,它会通知服务器进行正确的处理,然后向页面上连接的每个人发回通知,这最终会告诉他们这个特定的订单已被X先生批准,现在应该显示为蓝色

另一方面,如果订单已经处理,你可以使用ajax轮询并每隔x秒(x beeing small)询问数据库

但又一次真的取决于您的安装

答案 3 :(得分:-1)

您可以通过执行以下操作将颜色更改为蓝色:

请求进入后,将请求包装在

瞄准"接受"带有css规则的id,将颜色设置为蓝色。 当页面刷新其他供应商时,它将是蓝色的。