Java - 处理程序终止

时间:2011-11-25 18:30:22

标签: java client-server quit

我有一个用java编写的服务器 - 客户端对,如果另一个应用程序退出,我想退出一个应用程序。这是怎么做到的? 如果用户手动退出应用程序(即按cmd + q.alt + F4等),我还想知道如何让程序执行一系列命令(例如关闭套接字等)。

2 个答案:

答案 0 :(得分:1)

通常,这样做的方法是让心跳线程单独运行。这种方式的工作方式是 -

  
      
  1. 每个客户端都运行一个心跳线程,并将向服务器发送定期消息,主要是说“我正在运行”。你可以调整一下   消息之间的时间根据您的要求。

  2.   
  3. 服务器运行心跳监听器线程并维护运行的客户端列表

  4.   
  5. 一旦所有客户端停止发送消息,服务器可以等待几分钟然后正常关闭。

  6.   

此设计适用于单个客户或许多客户。

答案 1 :(得分:1)

当一个人退出时,它会向另一个人发送一条消息,导致其退出。

一种方法是毒丸消息/对象,它会在接收到该消息时导致接收器关闭。