首先:这是一个一般问题。我还没有任何代码,我只需要您的(专家)意见。
好,就这样。
我正在创建一个网站来购买/销售东西,例如ebay,但规模不大(针对特定类型的产品)。而且我需要实时通知。直到现在,我都使用PHP / MySQL + jQuery / AJAX。但是我想要更好的东西。
如果某人购买了某物,则卖方需要获得购买某物的通知。通知可以(a)是“实时”(如果卖家在线)或(b)延迟并在卖家在线时显示。
我熟悉PHP,并且与Pusher混为一谈。这是要走的路吗?还是我需要类似(例如)棘齿的东西?还是一样?而我应该如何“创建”呢?
我思考的方式如下:
在这类东西上有经验的人能给我一些建议吗?
谢谢!
PS:对不起我的英语(不是我的母语,希望大家都理解我的问题)
答案 0 :(得分:1)
使用websocket可以最好地传递实时通知。您可以在服务器上实现Websocket体系结构以推送通知。但这有时可能是乏味且复杂的。而且,由于websocket使用开放式连接,因此它们需要服务器上的资源。
最好使用某些将其作为服务提供的平台。 Ably可能是不错的选择。它可以实时传输数据,并且性能非常好。
如果不实时传送数据,但具有几秒钟的延迟灵活性,也可以使用轮询。但这会带来很多网络开销。
答案 1 :(得分:0)
您可以本机使用websockets
https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API
https://www.html5rocks.com/en/tutorials/websockets/basics/
https://caniuse.com/#search=websocket
请注意第一个链接中提到的库。
Websocket确实会使用服务器上的资源(开放连接),因此这可能是采用https://pusher.com/pricing
这样的付费解决方案的原因之一我确实注意到您从未真正提到要多快地显示通知。 Websocket是用于实时更新的,如果速度较慢,例如5到30秒,则将调用的脚本保持在最低限度,则在服务器上进行轮询可能会更容易。您可以进行智能轮询:一开始是快速的,而打开页面的时间越长,速度就越慢。尝试检查用户在做什么,鼠标光标是否在页面上移动?然后快速进行更新,否则减慢速度。用户正在滚动吗?等等
PS:正如您一开始所说的,这实际上不是编程问题。它可能被认为是题外话,回答这样的问题很少会受到奖励或欢迎。因此,沉默。