我有一个用java编写的服务器 - 客户端对,如果另一个应用程序退出,我想退出一个应用程序。这是怎么做到的? 如果用户手动退出应用程序(即按cmd + q.alt + F4等),我还想知道如何让程序执行一系列命令(例如关闭套接字等)。
答案 0 :(得分:1)
通常,这样做的方法是让心跳线程单独运行。这种方式的工作方式是 -
每个客户端都运行一个心跳线程,并将向服务器发送定期消息,主要是说“我正在运行”。你可以调整一下 消息之间的时间根据您的要求。
服务器运行心跳监听器线程并维护运行的客户端列表
- 醇>
一旦所有客户端停止发送消息,服务器可以等待几分钟然后正常关闭。
此设计适用于单个客户或许多客户。
答案 1 :(得分:1)
当一个人退出时,它会向另一个人发送一条消息,导致其退出。
一种方法是毒丸消息/对象,它会在接收到该消息时导致接收器关闭。