亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mudserver.java

?? 164個完整的Java代碼,資源比較大
?? JAVA
字號:
/* * Copyright (c) 2000 David Flanagan.  All rights reserved. * This code is from the book Java Examples in a Nutshell, 2nd Edition. * It is provided AS-IS, WITHOUT ANY WARRANTY either expressed or implied. * You may study, use, and modify it for any non-commercial purpose. * You may distribute it non-commercially as long as you retain this notice. * For a commercial use license, or to purchase the book (recommended), * visit http://www.davidflanagan.com/javaexamples2. */package com.davidflanagan.examples.rmi;import java.rmi.*;import java.rmi.server.*;import java.rmi.registry.*;import java.io.*;import java.util.Hashtable;import java.util.zip.*;import com.davidflanagan.examples.rmi.Mud.*;/** * This class implements the RemoteMudServer interface.  It also defines a * main() method so you can run it as a standalone program that will * set up and initialize a MUD server.  Note that a MudServer maintains an * entrance point to a MUD, but it is not the MUD itself.  Most of the  * interesting MUD functionality is defined by the RemoteMudPlace interface * and implemented by the RemotePlace class.  In addition to being a remote * object, this class is also Serializable, so that the state of the MUD * can be saved to a file and later restored.  Note that the main() method * defines two ways of starting a MUD: one is to start it from scratch with * a single initial place, and another is to restore an existing MUD from a * file. **/public class MudServer extends UnicastRemoteObject     implements RemoteMudServer, Serializable{    MudPlace entrance;  // The standard entrance to this MUD    String password;    // The password required to dump() the state of the MUD    String mudname;     // The name that this MUD is registered under    Hashtable places;   // A mapping of place names to places in this MUD        /**     * Start a MUD from scratch, with the given name and password.  Create     * an initial MudPlace object as the entrance, giving it the specified     * name and description.     **/    public MudServer(String mudname, String password, 		     String placename, String description)	throws RemoteException    {        this.mudname = mudname;        this.password = password;        this.places = new Hashtable();        // Create the entrance place        try { this.entrance = new MudPlace(this, placename, description); }         catch (PlaceAlreadyExists e) {} // Should never happen    }        /** For serialization only.  Never call this constructor. */    public MudServer() throws RemoteException {}                           /** This remote method returns the name of the MUD */    public String getMudName() throws RemoteException { return mudname; }        /** This remote method returns the entrance place of the MUD */    public RemoteMudPlace getEntrance() throws RemoteException {         return entrance;     }        /**     * This remote method returns a RemoteMudPlace object for the named place.     * In this sense, a MudServer acts as like an RMI Registry object,     * returning remote objects looked up by name.  It is simpler to do it this     * way than to use an actual Registry object.  If the named place does not     * exist, it throws a NoSuchPlace exception     **/    public RemoteMudPlace getNamedPlace(String name)               throws RemoteException, NoSuchPlace    {        RemoteMudPlace p = (RemoteMudPlace) places.get(name);        if (p == null) throw new NoSuchPlace();        return p;    }        /**     * Define a new placename to place mapping in our hashtable.       * This is not a remote method.  The MudPlace() constructor calls it     * to register the new place it is creating.     **/    public void setPlaceName(RemoteMudPlace place, String name) 	throws PlaceAlreadyExists    {        if (places.containsKey(name)) throw new PlaceAlreadyExists();        places.put(name, place);    }        /**     * This remote method serializes and compresses the state of the MUD     * to a named file, if the specified password matches the one specified     * when the MUD was initially created.  Note that the state of a MUD     * consists of all places in the MUD, with all things and exits in those     * places.  The people in the MUD are not part of the state that is saved.     **/    public void dump(String password, String f) 	throws RemoteException, BadPassword, IOException    {        if ((this.password != null)&& !this.password.equals(password))             throw new BadPassword();        ObjectOutputStream out = new ObjectOutputStream(			        new GZIPOutputStream(new FileOutputStream(f)));        out.writeObject(this);        out.close();    }        /**     * This main() method defines the standalone program that starts up a MUD     * server.  If invoked with a single argument, it treats that argument as     * the name of a file containing the serialized and compressed state of an     * existing MUD, and recreates it.  Otherwise, it expects four command-line     * arguments: the name of the MUD, the password, the name of the entrance     * place for the MUD, and a description of that entrance place.     * Besides creating the MudServer object, this program sets an appropriate     * security manager, and uses the default rmiregistry to register the     * the MudServer under its given name.     **/    public static void main(String[] args) {        try {            MudServer server;            if (args.length == 1) {                // Read the MUD state in from a file                FileInputStream f = new FileInputStream(args[0]);                ObjectInputStream in =		    new ObjectInputStream(new GZIPInputStream(f));                server = (MudServer) in.readObject();            }            // Otherwise, create an initial MUD from scratch            else server = new MudServer(args[0], args[1], args[2], args[3]);	                Naming.rebind(Mud.mudPrefix + server.mudname, server);        }        // Display an error message if anything goes wrong.        catch (Exception e) {            System.out.println(e);            System.out.println("Usage: java MudServer <savefile>\n" +			       "   or: java MudServer <mudname> <password> " + 			       "<placename> <description>");            System.exit(1);        }    }    /** This constant is a version number for serialization */    static final long serialVersionUID = 7453281245880199453L;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久免费精品高清特色大片| 国产情人综合久久777777| 欧美精品 国产精品| 国产无一区二区| 午夜欧美一区二区三区在线播放| 国产乱淫av一区二区三区| 欧美午夜视频网站| 国产精品素人视频| 另类小说一区二区三区| 在线视频国内自拍亚洲视频| 久久久久久久精| 视频一区二区中文字幕| 99久久亚洲一区二区三区青草 | 国产一区二区三区免费播放| 一本久久a久久精品亚洲| 精品久久久网站| 午夜一区二区三区视频| 成人av先锋影音| 久久久久成人黄色影片| 毛片av一区二区三区| 在线免费不卡电影| 中文字幕一区二区日韩精品绯色| 久久91精品久久久久久秒播| 欧美日韩一级视频| 亚洲女爱视频在线| 99精品视频一区二区| 国产午夜精品久久久久久免费视 | 91黄色在线观看| 日韩码欧中文字| 国产不卡在线一区| www国产精品av| 成人久久18免费网站麻豆| 亚洲精品一区二区三区四区高清 | 成人免费在线观看入口| 成人黄色一级视频| 国产精品全国免费观看高清| 国产乱人伦偷精品视频不卡| 精品成人在线观看| 麻豆91小视频| 久久亚洲综合av| 国产乱码精品一区二区三| 久久久电影一区二区三区| 国产成人综合亚洲网站| 久久亚洲捆绑美女| 东方aⅴ免费观看久久av| 国产亚洲欧美激情| www.欧美亚洲| 亚洲精品国产品国语在线app| 日本精品视频一区二区| 亚洲自拍都市欧美小说| 欧美精品国产精品| 久久国产尿小便嘘嘘| 国产午夜精品一区二区| 99久久国产综合色|国产精品| 国产精品激情偷乱一区二区∴| aa级大片欧美| 亚洲成人免费视频| 精品伦理精品一区| 国产69精品一区二区亚洲孕妇| 国产精品美女久久福利网站| 色999日韩国产欧美一区二区| 亚洲成人av在线电影| 日韩欧美综合在线| 成人深夜视频在线观看| 亚洲精品中文字幕乱码三区| 91精品国产综合久久香蕉的特点| 美女网站色91| 亚洲欧美综合在线精品| 欧美妇女性影城| 成人网页在线观看| 日本在线不卡视频| 国产精品系列在线| 欧美乱妇15p| 成人午夜电影久久影院| 亚洲国产精品自拍| 国产清纯美女被跳蛋高潮一区二区久久w| 99久久er热在这里只有精品15| 亚洲成人一区二区| 国产情人综合久久777777| 欧美精品v日韩精品v韩国精品v| 国产精品18久久久久| 婷婷中文字幕一区三区| 中文字幕欧美国产| 欧美xxxxx裸体时装秀| 欧美图片一区二区三区| 国产乱码精品一区二区三区av | 亚洲人成网站在线| 精品国产自在久精品国产| 在线精品视频免费播放| 国产91富婆露脸刺激对白| 日韩电影一区二区三区| 一区二区三区资源| 亚洲国产精品成人综合| 精品欧美乱码久久久久久1区2区| 91久久香蕉国产日韩欧美9色| 久久精品国产在热久久| 夜夜嗨av一区二区三区中文字幕| 欧美一级视频精品观看| 欧美最新大片在线看| 国产精品一卡二卡在线观看| 亚洲国产一区二区a毛片| 久久久精品综合| 在线播放亚洲一区| 福利一区在线观看| 国产最新精品精品你懂的| 亚洲一区二区视频在线观看| 国产三级精品三级| 欧美大黄免费观看| 欧美色成人综合| 国产成人激情av| 蜜桃久久久久久| 亚洲国产wwwccc36天堂| 中文字幕中文字幕一区| 久久品道一品道久久精品| 色国产综合视频| 91成人在线免费观看| 成人丝袜高跟foot| 国产在线观看免费一区| 日韩福利电影在线| 一区二区三区鲁丝不卡| 亚洲一区二区视频| 最新日韩av在线| 国产精品欧美精品| 国产午夜精品一区二区三区嫩草| 日韩天堂在线观看| 欧美日韩在线电影| 欧美一级久久久久久久大片| 欧美色网一区二区| 欧美系列在线观看| 欧美午夜精品一区二区三区| 91在线国产观看| 不卡av免费在线观看| 国产成人精品一区二| 激情六月婷婷久久| 国产精品久久久久久亚洲伦| 久久99精品久久久久婷婷| 国产精品美女一区二区在线观看| 日韩欧美国产综合| 国产人成亚洲第一网站在线播放| 亚洲欧美乱综合| 国产精品国产三级国产普通话蜜臀| 久久色.com| 欧美高清在线视频| 国产精品福利av| 亚洲成人免费看| 日韩av网站免费在线| 秋霞影院一区二区| 麻豆国产精品777777在线| 久久爱另类一区二区小说| 九色综合国产一区二区三区| 国产精品99久久久| kk眼镜猥琐国模调教系列一区二区| 成人av在线网站| 欧美在线观看18| 欧美日韩一区二区三区在线| 精品美女被调教视频大全网站| 久久久精品免费网站| 中文字幕五月欧美| 亚洲一区二区三区四区的 | 色婷婷av一区二区三区软件| 色综合久久天天| 26uuu亚洲综合色| 国产精品久久久久9999吃药| 亚洲国产精品精华液网站| 毛片一区二区三区| 风间由美一区二区av101 | 精品亚洲成a人在线观看| 福利电影一区二区| 91美女精品福利| 日韩一级精品视频在线观看| 国产日韩欧美激情| 亚洲精品免费视频| 日本麻豆一区二区三区视频| 粉嫩高潮美女一区二区三区| 在线观看欧美精品| 26uuu色噜噜精品一区| 一区二区三区日本| 国内精品不卡在线| 在线精品视频一区二区| 欧美videossexotv100| 亚洲欧美怡红院| 久久爱另类一区二区小说| 色婷婷综合久久久中文字幕| 日韩精品一区二区三区视频播放| 亚洲图片欧美激情| 国产真实乱偷精品视频免| 欧美日韩电影在线播放| 国产精品久久精品日日| 精品一区二区三区免费观看 | 亚洲午夜精品一区二区三区他趣| 精品一区二区三区免费观看| 欧美成人女星排名| 中文字幕一区二区三| 成人看片黄a免费看在线| 日韩视频一区在线观看| 亚洲综合图片区| 99热精品国产| 国产精品色呦呦| 韩日精品视频一区| 91精品久久久久久蜜臀|