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

📄 testserver5.java

📁 自己写的一个聊天的小程序 请多多指教
💻 JAVA
字号:
/* * Copyright (c) 2003 - 2007, Silvio Meier and Tobias Reinhard * * All rights reserved. *  * Redistribution and use in source and binary forms,  * with or without modification, are permitted provided  * that the following conditions are met: * *   o Redistributions of source code must retain the above  *     copyright notice, this list of conditions and the  *     following disclaimer. *   o Redistributions in binary form must reproduce the above  *     copyright notice, this list of conditions and the  *     following disclaimer in the documentation and/or other  *     materials provided with the distribution. *   o The names of its contributors may not be used to endorse  *     or promote products derived from this software without  *     specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */package net.sf.cscc.test;import java.util.Date;import java.util.Vector;import net.sf.cscc.CommunicationEvent;import net.sf.cscc.CommunicationEventObserver;import net.sf.cscc.DataEvent;import net.sf.cscc.DataEventReceivingObserver;import net.sf.cscc.ServerConnectionManager;// The server implements directly the data observer interface and the communication// observer interface// test other huge data blocks sendpublic class TestServer5 implements DataEventReceivingObserver, CommunicationEventObserver  {        ServerConnectionManager scm; // provides the server connection        public TestServer5() {        scm = new ServerConnectionManager(2510);        // observer        scm.addObserver((CommunicationEventObserver)this);        scm.addObserver((DataEventReceivingObserver)this);        // start listening for clients        scm.beginListening();    }        public void receiveEvent(DataEvent de) {        System.out.println("Client says " + de.getData().toString() + " / Time " + de.getEventKey());        // new vector container        Vector v = new Vector();                v.add(new String("msg broker string vector"));        v.add(new Integer(972));                // Nachricht        Message5 msg = new Message5(100, (Object) new String("1"),        (Object) new String("2"),        (Object) new String("msg broker string (ificomm)"), v);                // data event creation        DataEvent deRet = new DataEvent(new Long((new Date()).getTime()),msg);                //System.out.println("send server before singel");        // send messge to client.....        //scm.sendDataEvent(deRet, de.getClientId());                //System.out.println("send server after singel");                // send bradcast message to client.        //System.out.println("send server before multi");        scm.sendBroadCastEvent(deRet);        //System.out.println("send server after muli");        System.gc();    }        public void send() {        while (true) {            // new vector container            Vector v = new Vector();                        v.add(new String("msg broker string vector"));            v.add(new Integer(972));                        // Nachricht            Message5 msg = new Message5(100, (Object) new String("1"),            (Object) new String("2"),            (Object) new String("msg broker string (ificomm)"), v);                        // data event creation            DataEvent deRet = new DataEvent(new Long((new Date()).getTime()),msg);                        System.out.println("send server before singel");            // send messge to client.....            //scm.sendDataEvent(deRet, de.getClientId());                        System.out.println("send server after singel");                        // send bradcast message to client.            //System.out.println("send server before multi");            scm.sendBroadCastEvent(deRet);                        //System.out.println("send server after muli");            System.gc();        }    }        // receives all the communication events    public void receiveEvent(CommunicationEvent ce) {        String data = "";        // if the communication event contains data        if (ce.getData() == null) {            System.out.println("No additional data for comminication event");        } else {            // then it is a description about the client --> client number.            System.out.println("Number of client: " + ce.getData());            data = ce.getData().toString();        }                // ask for all possible communication events.        switch (ce.getEventId()) {            case (CommunicationEvent.CONNECTION_ESTABLISHED):                System.out.println("connection opened!");                break;            case (CommunicationEvent.CONNECTION_BROKEN):                System.out.println("connection broken");                break;            case (CommunicationEvent.CONNECTION_CLOSED):                System.out.println("connection closed");                break;            case (CommunicationEvent.CONNECTION_START_LISTENING):                System.out.println("start listening");                break;            case (CommunicationEvent.CONNECTION_STOP_LISTENING):                System.out.println("stop listening");                break;        }    }            // starts up the server    public static void main(String[] args) {        TestServer5 t = new TestServer5();        //t.send();    }    }

⌨️ 快捷键说明

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