我正在尝试开发我的第一个节点应用程序。据说我有一个 C# 应用程序,它通过 POST 将用户特定的 json 数据提交到一个 url,让我们调用它//localhost/data/send
,这些数据将每 1-5 秒发送一次(尚未决定)。
然后我将有一个需要用户登录的网站,然后轮询该用户的数据并显示它。现在,与其每 x 秒刷新一次页面,我想我可以使用某种基于套接字或事件的技术,例如 socket.io 或 redis pub/sub 来将数据推送到连接的客户端。
但这里有一个问题,我该如何确保两件事:
- 连接的用户只能访问他们的信息
- 我目前正在使用快递,但这对任何事情都是开放的..
- 仅当有用户登录远程 Web 界面时才会发送数据
我的想法是,当用户登录到桌面 c# 应用程序时,它开始轮询以检查用户是否/何时登录到 Web 界面。
一旦用户登录到 Web 界面,桌面应用程序就会根据桌面应用程序和 Web 应用程序之间匹配的用户名识别会话 ID。然后它开始仅推送到该会话 ID。
甚至需要redis吗?或者我可以使用一个简单的 mysql 表和 socket.io 吗?
一旦用户注销,数据就不需要持久化。