我正在构建一个Web应用程序,我需要通过客户端的一次请求将连续数据从服务器推送到客户端一段特定的时间间隔。 它与交易应用程序中的相同,用户登录应用程序一次,并发布他能够看到费率连续变化,而无需进一步请求。
在研究我发现时,通过轮询我们可以实现这一目标,但同时它也是连接数量的开销。
我的服务器是微服务模型,客户端是HTML5。
建议和帮助将不胜感激。
答案 0 :(得分:1)
您可以使用Server Sent Events。它完全按照您的需要工作。客户端连接一次,然后服务器通过在每次收到事件时注册要调用的callback function
,每次在后端发生更改时发送事件(即序列化为JSON的对象)。
以下是示例数据流:
event: userconnect
data: {"username": "bobby", "time": "02:33:48"}
event: usermessage
data: {"username": "bobby", "time": "02:34:11", "text": "Hi everyone."}
event: userdisconnect
data: {"username": "bobby", "time": "02:34:23"}
event: usermessage
data: {"username": "sean", "time": "02:34:36", "text": "Bye, bobby."}
Here是Spring的教程。