实时 Web 应用程序的流数据
Streaming data for a realtime web application
我正在构建一个 Web 应用程序,我需要在特定时间间隔内将连续数据从服务器推送到客户端,并从客户端发出一次请求。
这与在交易应用程序中用户登录应用程序一次并且 post 他能够看到汇率不断变化而无需发出任何进一步请求的情况相同。
在研究过程中我发现,通过轮询我们可以实现这一点,但同时它也是连接数的开销。
我的服务器是微服务模型,客户端是HTML5。
建议和帮助将不胜感激。
您可以使用 Server Sent Events。它完全按照您的需要工作。客户端连接一次,然后服务器发送一个事件(即序列化为 JSON 的对象),每当后端发生变化时,通过注册一个 callback function
来在每次接收到事件时调用。
下面是一个示例数据流:
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 的教程。
我正在构建一个 Web 应用程序,我需要在特定时间间隔内将连续数据从服务器推送到客户端,并从客户端发出一次请求。 这与在交易应用程序中用户登录应用程序一次并且 post 他能够看到汇率不断变化而无需发出任何进一步请求的情况相同。
在研究过程中我发现,通过轮询我们可以实现这一点,但同时它也是连接数的开销。
我的服务器是微服务模型,客户端是HTML5。
建议和帮助将不胜感激。
您可以使用 Server Sent Events。它完全按照您的需要工作。客户端连接一次,然后服务器发送一个事件(即序列化为 JSON 的对象),每当后端发生变化时,通过注册一个 callback function
来在每次接收到事件时调用。
下面是一个示例数据流:
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 的教程。