0

如果他在线或离线,我想制作类似朋友状态的东西。

c# 代码背后, javascript , html5

有一个类似的问题,但它使用.php,我对php一无所知。

无论如何,我在想,对于在线,您可以跟踪用户实际登录的时间。(将数据库中的字段转为在线为真)

但是,您如何将该信息发送给需要知道其他用户是否登录的人?代码隐藏或 js 可以像他上网时调用的接收函数/方法吗?(像观察者模式?)

然后当它更新时,我们不希望整个页面刷新,但页面的@flickering 最少。回邮?

最后,要跟踪用户是否离线,它可能就像一个 http 响应来检查在线用户是否仍然在线的响应。但是怎么做?:P

如果我们最终得到它离线,我们可以使用我们通知其他人他在线的相同接收功能/方法吗?

任何帮助将不胜感激。希望这可以成为类似线程的参考。

4

1 回答 1

0

但是,您如何将该信息发送给需要知道其他用户是否登录的人?

您无法将信息发送给用户。他必须自己获取信息。我的意思是http是一个“拉协议”,这意味着你不能向客户端推送信息,你只是给他他要求的东西。

现在,您想要的是客户端在没有注意到他的浏览器正在发送请求的情况下请求信息。最好的方法是在 javascript 中使用Ajax向Web 服务发送请求。这样,您可以从服务器获取信息,而无需进行任何回发。然后,为了给实时信息留下印象,您需要在 setTimeout 中设置您的 ajax 调用,以在任何给定的时间间隔(30 秒、1 分钟,您的选择)中获取信息。

为了简化 - 很多 - 您的 ajax 调用,请查看Jquery Ajax

如果您对此一无所知,请不要放弃,它可能看起来比实际更复杂。

最后跟踪用户是否离线

我的建议是您跟踪来自该用户的每个请求,并且在没有任何请求的一段时间后,您声明该用户已注销。

希望这可以帮助!

于 2012-09-09T17:20:00.087 回答