如果他在线或离线,我想做个朋友状态。
c#代码背后,javascript,html5
有一个类似的问题,但它使用.php,我对php一无所知。
无论如何,我在想,对于在线,您可以跟踪用户实际登录的时间。(将数据库中的字段转为真实)
但是,如何将该信息发送给需要知道其他用户是否已登录的人?代码隐藏或者js是否有类似于他上线时调用的接收函数/方法?(如观察者模式?)
然后当它更新时我们不想整页刷新,但页面的@flickering最少。后回?
最后,为了跟踪用户是否处于离线状态,它可能就像是一个http响应,用于检查在线用户是否还在线时的响应。但是怎么样? :P
如果我们最终离线,我们可以使用相同的接收功能/方法,我们通知对方他在线吗?
任何帮助都会受到很多关注。希望这可以成为类似线程的参考。
答案 0 :(得分:0)
但是,如何将该信息发送给需要知道其他用户是否已登录的人?
您无法将信息发送给用户。他必须自己获取信息。我的意思是http是一个“拉协议”,这意味着你不能把信息推送到客户端,你只需要给他他要求的东西。
现在,您想要的是客户端在不注意浏览器发送请求的情况下请求信息。最好的方法是在javascript中使用 Ajax 向 Web服务发送请求。这样,您可以从服务器获取信息而无需进行任何回发。然后,为了给出实时信息的印象,你需要在setTimeout中设置你的ajax调用,以便在任何给定的时间间隔内获得信息(30秒,1分钟,你的选择)。
要简化 - 很多 - 你的ajax调用,请查看Jquery Ajax。
如果你不知道这些,不要放弃,它可能看起来比实际上更复杂。
最后跟踪用户是否离线
我建议您跟踪该用户的每个请求,并且在没有任何请求的一段时间后,您将此用户声明为已注销。
希望这有帮助!