我创建了一个名为 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/