【发布时间】:2016-05-10 06:25:46
【问题描述】:
我正在开发一个带有荷兰式拍卖的应用程序。
在荷兰式拍卖中,价格会逐渐下降,直到有人接受出价,如果在达到预设(低)阈值之前没有人接受出价,价格会一遍又一遍地重置为其初始高值。
我不知道如何从服务器端广播新价格。
eg: 产品的价格是1000,每秒应该下降10,并广播给所有用户。我找不到这样做的好方法。我试过这个:
price = 1000
while price > 0
price = price - 10
// broadcast to all users
sleep 1
end
end
但它不起作用。
【问题讨论】:
-
您的主题确实具有误导性。您要解决的是如何从服务器到客户端(浏览器)的实时通知。你应该看看websockets。可以将其集成到 Ruby on Rails 中。
-
@babgyy 对不起,我的英语很差。 eg: 产品的价格是1000,每秒降10,广播给所有用户。我找不到这样做的好方法。
-
不用担心,我只是说您的问题可以让我更具体地了解您的需求。你肯定需要了解 websockets。维基百科将提供帮助。在基本的 Web 应用程序(使用 HTTP 协议)中,客户端(您的浏览器)向服务器请求一次以获取页面内容,将页面显示给用户,然后等待用户操作。服务器无法向每个客户端“广播”。这就是为什么您需要另一个协议来使您的客户端能够“订阅”来自服务器的消息:websocket 就是这样一个协议。 en.wikipedia.org/wiki/Push_technology
-
是的,我用过 rails 5 和 action cable,但我不知道如何让价格从 1000 每秒下降 10 到 0。
标签: javascript ruby-on-rails ruby