Java - onlineUsers() 方法返回当前在线的所有用户的 ArrayList?

标签 java

我创建了一个名为 VideoExchangeCenter 的类,它代表用户登录和退出以下载视频的公司网站。该类包含属性:users - 所有注册用户(可能已登录或未登录)的 ArrayList。

此外,我需要创建一个 onlineUsers() 方法,该方法返回当前在线的所有用户的 ArrayList。该方法本质上是在每次调用时创建并返回一个新的 ArrayList。

我正在努力找出某种方法来确定特定用户是否在线。我尝试查找类似的问题,但我发现的大多数结果对于我的编程水平来说太复杂,或者与我的问题无关。我真的很感激一些帮助或朝正确方向的插入。

import java.util.ArrayList;
public class VideoExchangeCenter {
  ArrayList<User> users;      

  public VideoExchangeCenter()  {
    users = new ArrayList<User>();
  }
  public onlineUsers(){
  }
}

最佳答案

基本上必须定义“在线”的含义。

显然,当前正在上传/下载内容的用户处于在线状态。显然,登录后注销的用户处于离线状态。当前已登录但在 X 小时内未执行任何操作的用户,嗯,那他们呢?

所以,重点是:有多种方法可以解决这个问题。当用户需要登录才能使用您的服务时,服务器可以跟踪该信息。您还可以在每次用户与系统交互时存储时间戳,并假设“当用户不活动 1 小时时,他被视为离线”。

因此,在现实世界中,此类服务有很多方法可以确定谁“当前在线”,其中一些是启发式的。你在家庭作业中所做的事情取决于它的更广泛的背景。

关于Java - onlineUsers() 方法返回当前在线的所有用户的 ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55310875/

相关文章:

java - 在 Kafka 重新平衡中,撤销操作是否会等待消费进程完成?

java - Eclipse 'generate entities from tables' 和 'many to one' 关系

java - 将 WebElement 类型转换为 By 类型

java - BeforeAll 方法中没有为参数注册 ParameterResolver

即使 while 循环完成,Java 线程也不会停止

java - 在java中以像素为单位读取和写入图像

java - 正则表达式匹配双空格之后、逗号之前

java - 使部分图像可点击 (Android)

java - Java 中的 Unicode 符号(箭头)

java - CustomEditText 的奇怪行为