airportmessageserver.java

来自「Java经典例程 从外国一大学计算机教授出版物下载的代码 经典」· Java 代码 · 共 74 行

JAVA
74
字号
import java.rmi.*;
import java.rmi.server.*;
import java.util.*;

public class AirportMessageServer extends UnicastRemoteObject
  implements AirportMessage {

  /*  The Airport System's Message Server   by L Botha  Jan 1998
   *  ===================================
	 *
	 *  Generates a general message every 60 seconds
	 *  which the Message Client can fetch.
	 */
   long lastMessageSent;
   int lastMessageNumber;

   public AirportMessageServer() throws RemoteException {
      lastMessageSent = System.currentTimeMillis();
   }

	 public String getMessage() throws RemoteException {
     String message = null;
     if (timeForMessage()) {
		   switch (lastMessageNumber) {
			 case 0 :
         message = "This is a security announcement. "
				 + "Do not leave baggage "
         + "at any time. Baggage left unattended will be removed "
         + "and destroyed.";
				 break;
       case 1:
          message = "The Airports Company welcomes you "
					+"and trusts you will "
          + "have a safe and pleasant journey.";
					break;
       case 2:
          message = "Children are not allowed to play on the "
					  +"escalators or in the lifts.";
			 default: message = "";
			 }
       if (lastMessageNumber == 2)
          lastMessageNumber = 0;
       else lastMessageNumber++;
     }
     return message;
	}

   public boolean timeForMessage() {
     long currentTime = System.currentTimeMillis();
		 // every 60 seconds
     if ((currentTime-lastMessageSent) > 60000) {
        lastMessageSent = currentTime;
        return true;
     } else return false;
   }

    public static void main(String[] args) {
      AirportMessageServer obj = null;

      try {
        obj = new AirportMessageServer();
        Naming.rebind("rmi:///AirportMessageServer", obj);
        System.out.println("Airport message server bound in registry");
      } catch (Exception e) {
        System.out.println("Announcer error: " + e);
      }
    }
}





⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?