首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用户断开检测(即“在线状态”)守护进程

用户断开检测(即“在线状态”)守护进程
EN

Stack Overflow用户
提问于 2010-08-13 21:19:49
回答 1查看 339关注 0票数 1

摘要:当用户通过TCP连接/断开连接时,是否有一个将执行回发的守护进程,或者编写一个守护进程是个好主意?

Details:已经有很多关于这方面的问题了,但我认为这是一个不同的“转折”。我们正在编写Ruby on Rails web应用程序,我们希望能够判断用户是“联机”还是“脱机”,其中适用以下定义:

“联机”(

  • "online“)--用户的浏览器是打开的,并维护到我们的一个服务器的TCP连接--用户的浏览器不再连接到我们的服务器之一。

我们认为这样做是一种方便的方法,就是运行一个完全独立的“联机状态”服务器,我们的每个用户都将连接到这个服务器(准确地说是一次):

  • 当连接到“联机状态”服务器时,它将回发回我们的实际RoR站点,并让它知道“这个用户刚刚登录”。当连接从“联机状态”服务器丢失时,它将回发回我们的实际RoR站点,并让它知道“这个用户刚刚注销”。

这种方法似乎是合理的,并且保持了相当模块化(例如,在线状态服务器将非常简单,这是很好的)。我们可以编写这个在线状态服务器,但有以下问题:

  1. ,我们还没有考虑到上述体系结构中的任何具体问题?
  2. 是否已经有了这样的守护进程或应用程序?如果已经写好了,为什么要重新设计方向盘呢?
  3. 是否有一个提供此功能的推送服务器(即它维护到用户的连接,但当用户连接或

连接时会向上游发送通知或回发通知)。

EN

回答 1

Stack Overflow用户

发布于 2010-08-13 22:13:29

这就是你所设想的用户会在他们的系统上安装的东西吗?

如果您正在寻找基于浏览器的系统,那么WebSockets可能是您使用类似Socket.IO http://socket.io/之类的工具的唯一选择。

作为本项目一部分提供的node.js套接字服务器可以在github:http://github.com/LearnBoost/Socket.IO-node上找到。

Node.js正是针对这个问题域而设计的一个很好的平台,并且有许多WebSocket服务器用于节点。

除非您的应用程序完全基于ajax,并且使用单一父页面,否则您需要创建一个包含套接字的持久父框架,该套接字封装应用程序,因为每次用户单击链接时,页面都会卸载和重新加载,从而导致从状态服务器断开连接和重新连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3480734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档