我们在使用微信支付时基本的场景如下:
用户A(收款人)输入收款金额生成二维码,
用户B(支付人)用微信客户端扫描生成的二维码,
弹出密码框.
输入密码正确后, 用户A接收到对应的收款提示.
问题:
用户A设备之间是如何感知用户B扫码输入密码后,
服务器向用户A的提示是如何实现的?
这些推送的技术是如何做到实时的?
我们在使用微信支付时基本的场景如下:
用户A(收款人)输入收款金额生成二维码,
用户B(支付人)用微信客户端扫描生成的二维码,
弹出密码框.
输入密码正确后, 用户A接收到对应的收款提示.
问题:
用户A设备之间是如何感知用户B扫码输入密码后,
服务器向用户A的提示是如何实现的?
这些推送的技术是如何做到实时的?
如果您研究一下京东的微信扫码支付,你就会发现其实不是推送的,而是3秒一次去poll(定时查询的)。
使用我们BeeCloud可以轻松接入微信扫码支付,你可以试用一下,我们提供了查询的接口。
开发步骤是,先生成支付二维码,之后每3秒一次用查询接口去查询订单状态,知道订单变成支付,才更新前端网页的UI
像微信扫码登录、扫码支付 他们的原理基本都是一样的,都是可以通过轮询、长连接、websocket等技术来实现的,
这是某网站的微信扫码登录,当前页面每隔几秒就会发起一个新的请求,例如当用户扫码成功以后会在服务器保存一个标识,当前页面请求时获取到了这个标识则刷新当前页面。
是使用的长轮循,你查看它二维码页面的连接信息就能看到。