网络计时器:采用C/S架构,主要包括服务器端(Server)和客户端(Client)
服务器完成的功能是负责设置预通知的消息内容,以及设置定时时间,时间到达向所有客户端推送预设定消息,另外服务器端会显示,每一个已连接客户端的ip,机器名,连接状态。
客户端完成的功能是通过设置服务器的ip地址和端口(port),与服务器建立连接,显示当前连接状态(3个),显示服务器端设定的定时时间,等待时间到达接收服务器端发来的消息。
主要使用Java Swing、网络编程、多线程等技术,服务器向客户端推送预设消息使用了观察者设计模式,一旦有新请求到达服务器会将请求Socket对象保存在Vector对象数组中,客户端退出时则会被删除。对于获取用户的机器名,采用的是通过各个客户端收集用户的机器名,然后发送到服务器,在服务器启动一个线程等待接收,由于另一个线程要接收该线程的信息,所以对另一个线程进行了加锁,当全局机器名被赋值时,才唤醒另一线程
功能结构图:
Java socket建立通信的过程图:
服务器端运行界面:
客户端运行界面: