⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tickerserverimpl.java

📁 codebook!
💻 JAVA
字号:
package com.darwinsys.callback;import com.darwinsys.client.*;import java.rmi.*;import java.rmi.server.*;import java.util.*;/** This is the main class of the server */public class TickerServerImpl	extends UnicastRemoteObject	implements TickerServer, Runnable{	ArrayList list = new ArrayList();	/** Construct the object that implements the remote server.	 * Called from main, after it has the SecurityManager in place.	 */	public TickerServerImpl() throws RemoteException {		super();	// sets up networking	}	/** Start background thread to track stocks :-) and alert users. */	public void start() {		new Thread(this).start();	}	/** The remote method that "does all the work". This won't get	 * called until the client starts up.	 */	public void connect(Client da) throws RemoteException {		System.out.println("Adding client " + da);		list.add(da);	}	boolean done = false;	Random rand = new Random();	public void run() {		while (!done) {			try {				Thread.sleep(10 * 1000);				System.out.println("Tick");			} catch (InterruptedException unexpected) {				System.out.println("WAHHH!");				done = true;			}			Iterator it = list.iterator();			while (it.hasNext()){				String mesg = ("Your stock price went " +					(rand.nextFloat() > 0.5 ? "up" : "down") + "!");				// Send the alert to the given user.				// If this fails, remove them from the list				try {					((Client)it.next()).alert(mesg);				} catch (RemoteException re) {                    System.out.println(						"Exception alerting client, removing it.");					System.out.println(re);					it.remove();				}			}		}	}}

⌨️ 快捷键说明

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