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

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

?? messageprocessor.java

?? 基于jxta的P2P框架的系統
?? JAVA
字號:
package connex.plugins.whiteboard;

import net.jxta.endpoint.*;
import connex.core.Presence.PresenceService;
import net.jxta.document.MimeMediaType;
import connex.core.net.ObjectUtil;
import java.io.*;
import connex.core.net.WorkspaceConnection;
import org.apache.log4j.Level;

import org.apache.log4j.Logger;
import connex.core.net.WorkspaceConnection;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class MessageProcessor
    implements RemoteListener {
  private final static Logger LOG = org.apache.log4j.Logger.getLogger(
      MessageProcessor.class.getName());
  private WorkspaceConnection ses;

  /**
   * @clientCardinality 1
   * @supplierCardinality 1
   * @directed*/
  private ShapesContol shapes;

  protected MessageProcessor(WorkspaceConnection ses) {
    LOG.setLevel(Level.INFO);
    this.ses = ses;

    shapes = ShapesContol.getInstance();
    shapes.setRemoteListener(this);
  }

  public synchronized void sendShape(String key, ShapeObj shape) {
    ses.send(createShapeMessage(key, shape));
  }

  public synchronized void sendClear() {

    ses.send(WhiteboardProtocol.createMessage(WhiteboardProtocol.clearMessage));
  }

  public void sendRemove(String key) {
    Message msg = WhiteboardProtocol.createMessage(WhiteboardProtocol.removeMessage);
    msg.addMessageElement(WhiteboardProtocol.nameSpace,
                          new
                          StringMessageElement(WhiteboardProtocol.shapeIDTag,
                                               key, null));
    ses.send(msg);

  }
  public void sendLock(String key) {
   Message msg = WhiteboardProtocol.createMessage(WhiteboardProtocol.lockMessage);
   msg.addMessageElement(WhiteboardProtocol.nameSpace,
                         new
                         StringMessageElement(WhiteboardProtocol.shapeIDTag,
                                              key, null));
   ses.send(msg);

 }




  /**
   * process
   *
   * @param message Message
   */
  /**
   * create a new Message
   * @param messageText String
   * @return Message
   */
  private Message createShapeMessage(String key, ShapeObj shape) {
    Message msg = WhiteboardProtocol.createMessage(WhiteboardProtocol.shapeMessage);
    /*Messagedata*/
    byte[] buff = null;
    try {
      buff = objectToBytes(shape);
      msg.addMessageElement(WhiteboardProtocol.nameSpace,
                            new
                            StringMessageElement(WhiteboardProtocol.shapeIDTag,
                                                 key, null));
      msg.addMessageElement(WhiteboardProtocol.nameSpace,

                            new ByteArrayMessageElement(WhiteboardProtocol.shapeTag,
          MimeMediaType.AOS, buff, 0, buff.length, null));

      return msg;
    }
    catch (IOException ex) {
    }
    return msg;

  }

  protected void process(Message msg) {
    String version = null;
    String membId = null;
    String membName = null;
    String type = null;
    byte[] data = null;
    String key = null;

    /* Message header*/
    System.out.print("start Processing");
    MessageElement el = msg.getMessageElement(WhiteboardProtocol.nameSpace,
                                              WhiteboardProtocol.version);

    if (el != null) {
      version = el.toString();

    }

    el = msg.getMessageElement(WhiteboardProtocol.nameSpace,
                               WhiteboardProtocol.membIDTag);
    if (el != null) {
      membId = el.toString();
      if (membId.equals(PresenceService.getInstance().
                        getmOwnPeerAdv().getPeerID().
                        toString())) {
        return;
      }

    }

    el = msg.getMessageElement(WhiteboardProtocol.nameSpace,
                               WhiteboardProtocol.membNameTag);
    if (el != null) {
      membName = el.toString();

    }
    /*** Messagetype*****************/
    el = msg.getMessageElement(WhiteboardProtocol.nameSpace,
                               WhiteboardProtocol.typeTag);
    if (el != null) {
      type = el.toString();

      if (LOG.isEnabledFor(Level.INFO)) {
        LOG.info("Recived Message Type = " + type);
      }

      /*** MessageData*****************/

      if (type.equals(WhiteboardProtocol.shapeMessage)) {

        el = msg.getMessageElement(WhiteboardProtocol.nameSpace,
                                   WhiteboardProtocol.shapeIDTag);
        if (el != null) {

          key = el.toString();

        }

        el = msg.getMessageElement(WhiteboardProtocol.nameSpace,
                                   WhiteboardProtocol.shapeTag);

        if (el != null) {
          data = el.getBytes(false);

          setShape(key, data);

        }
        return;
      }
      if (type.equals(WhiteboardProtocol.clearMessage)) {
        synchronized (shapes) {
          shapes.remoteClear();
        }
        return;
      }
      if (type.equals(WhiteboardProtocol.removeMessage)) {
        el = msg.getMessageElement(WhiteboardProtocol.nameSpace,
                                   WhiteboardProtocol.shapeIDTag);
        if (el != null) {
          key = el.toString();
          synchronized (shapes) {
            shapes.remoteRemove(key);
          }
          return;
        }

      }
      if (type.equals(WhiteboardProtocol.lockMessage)) {
             el = msg.getMessageElement(WhiteboardProtocol.nameSpace,
                                        WhiteboardProtocol.shapeIDTag);
             if (el != null) {
               key = el.toString();
               synchronized (shapes) {
                 shapes.lock(key, membName);
               }
               return;
             }

           }

    }

  }

  private void setShape(String key, byte[] data) {
    System.out.print("  data length" + data.length);
    //gui.showMsg(membName, data);
    ShapeObj shape = null;
    try {
      shape = (ShapeObj) bytesToObject(data);
      System.out.println("  recieved shape id " + key);
    }
    catch (ClassNotFoundException ex) {
      ex.printStackTrace();
    }
    catch (IOException ex) {
      ex.printStackTrace();
    }
    synchronized (shapes) {
      shapes.remotePut(key, shape);
    }
  }



 private byte[] objectToBytes(Object object) throws
      IOException {
    java.io.ObjectOutputStream out;
    java.io.ByteArrayOutputStream bs;

    bs = new java.io.ByteArrayOutputStream();
    out = new java.io.ObjectOutputStream(bs);
    out.writeObject(object);
    out.close();

    return bs.toByteArray();

  }

  private Object bytesToObject(byte[] bytes) throws
      IOException,
      ClassNotFoundException {
    Object res;
    java.io.ObjectInputStream in;
    java.io.ByteArrayInputStream bs;

    bs = new java.io.ByteArrayInputStream(bytes);
    in = new java.io.ObjectInputStream(bs);
    res = in.readObject();
    in.close();
    bs.close();
    return res;
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区三区电影| 欧美国产精品v| 天天操天天综合网| 日韩欧美综合一区| 成人激情免费电影网址| 天堂一区二区在线免费观看| 久久精品夜色噜噜亚洲a∨| 欧美在线综合视频| 成人毛片在线观看| 美女脱光内衣内裤视频久久影院| 欧美国产禁国产网站cc| 在线播放中文字幕一区| 9人人澡人人爽人人精品| 日韩国产一二三区| 欧美经典一区二区| 精品国产乱码久久| 欧美二区乱c少妇| 大桥未久av一区二区三区中文| 97se亚洲国产综合自在线不卡| 精品一区二区影视| 国模一区二区三区白浆| 日韩激情av在线| 亚洲精品亚洲人成人网在线播放| 国产日韩欧美在线一区| 91丨porny丨国产| 精品制服美女丁香| 免费欧美在线视频| 五月天激情综合| 亚洲综合一二区| 亚洲精品久久嫩草网站秘色| 欧美国产1区2区| 精品成人在线观看| 亚洲精品福利视频网站| 国产成人综合视频| 欧美精品一区二区蜜臀亚洲| 婷婷国产在线综合| 久久久亚洲国产美女国产盗摄| proumb性欧美在线观看| 午夜国产精品一区| 日本一区二区高清| 7777女厕盗摄久久久| 国产91精品露脸国语对白| 无吗不卡中文字幕| 国产农村妇女毛片精品久久麻豆 | 悠悠色在线精品| 亚洲与欧洲av电影| 亚洲综合成人网| 日韩激情中文字幕| 久久91精品国产91久久小草| 国产资源在线一区| 亚洲影视在线观看| 国产欧美一区二区精品性色| 亚洲国产精品天堂| 日韩欧美一区二区不卡| 99精品视频中文字幕| 麻豆视频一区二区| 一区二区三区成人在线视频| 国产欧美一区二区三区在线看蜜臀 | 日韩欧美电影在线| 色噜噜久久综合| 国产成人综合网| 美国十次综合导航| 亚洲国产成人av| 亚洲色图制服诱惑| 国产性色一区二区| 日韩一区二区在线观看视频播放| 色婷婷综合久久久中文字幕| 国产在线国偷精品产拍免费yy | 国产成人免费视频网站高清观看视频| 日韩综合小视频| 依依成人综合视频| 亚洲欧美中日韩| 国产亚洲精品aa| 日韩丝袜情趣美女图片| 欧美亚洲一区二区在线观看| hitomi一区二区三区精品| 国产一区欧美日韩| 蜜臀a∨国产成人精品| 亚洲午夜精品网| 亚洲视频电影在线| 亚洲国产精品精华液ab| 精品久久99ma| 欧美一区二区久久| 欧美日韩成人一区| 欧美伊人久久大香线蕉综合69| 成人黄色网址在线观看| 国产精品夜夜爽| 九九精品一区二区| 日本不卡一区二区三区高清视频| 亚洲国产裸拍裸体视频在线观看乱了 | 国产成人在线观看| 狠狠色2019综合网| 精品一区二区三区在线播放| 青青草原综合久久大伊人精品| 亚洲丰满少妇videoshd| 亚洲综合精品久久| 一区二区三区欧美视频| 一区二区三区四区精品在线视频 | 亚洲欧美怡红院| 国产精品国产三级国产普通话99| 久久久另类综合| 久久久久久久网| 久久久久久免费毛片精品| 久久综合狠狠综合久久综合88| 精品国产一区久久| 精品国产一区二区三区忘忧草| 精品国产凹凸成av人网站| 欧美zozo另类异族| 久久亚洲二区三区| 国产亚洲精久久久久久| 国产精品污www在线观看| 国产精品电影一区二区| 国产精品白丝在线| 亚洲人123区| 亚洲在线视频免费观看| 亚洲一区二区成人在线观看| 婷婷开心久久网| 蜜臀va亚洲va欧美va天堂| 麻豆国产一区二区| 国产又黄又大久久| 成人黄色国产精品网站大全在线免费观看 | 7777精品伊人久久久大香线蕉| 欧美精品久久99久久在免费线| 91精品国产欧美一区二区| 日韩视频免费直播| 久久嫩草精品久久久久| 中文无字幕一区二区三区 | 91麻豆国产福利精品| 在线观看日韩一区| 欧美精选一区二区| 精品国产电影一区二区| 国产精品美女久久久久久| 亚洲免费成人av| 日韩av一区二区三区四区| 久久国产精品色婷婷| 国产成人a级片| 日本韩国一区二区三区视频| 欧美一区二区三区精品| 久久蜜桃香蕉精品一区二区三区| 亚洲欧洲av色图| 香蕉影视欧美成人| 精品无人码麻豆乱码1区2区| 国产不卡在线视频| 色伊人久久综合中文字幕| 7799精品视频| 国产亲近乱来精品视频 | 亚洲三级在线免费| 热久久免费视频| 国产69精品久久久久毛片| 色婷婷久久久综合中文字幕| 777色狠狠一区二区三区| 久久久久久免费网| 一区二区成人在线视频| 国产在线播放一区二区三区| 亚洲欧美国产三级| 亚洲欧美经典视频| 亚洲一区二区偷拍精品| 中文一区二区完整视频在线观看 | 麻豆精品一区二区综合av| 一区二区三区在线观看视频| 国产精品高清亚洲| 久久综合九色综合97_久久久| 欧美久久一区二区| 欧美最新大片在线看| 国产.精品.日韩.另类.中文.在线.播放 | 亚洲一区二区中文在线| 美女一区二区视频| 99久久精品久久久久久清纯| 在线不卡a资源高清| 中文字幕制服丝袜成人av| 日本vs亚洲vs韩国一区三区二区| av一本久道久久综合久久鬼色| 911精品国产一区二区在线| 国产精品人妖ts系列视频| 日本不卡一二三区黄网| 九九九久久久精品| 91女人视频在线观看| 日韩午夜在线观看| 亚洲视频图片小说| 麻豆国产欧美日韩综合精品二区| jiyouzz国产精品久久| 欧美mv和日韩mv国产网站| 国产精品久久久久影院亚瑟| 亚洲国产一区二区三区| 中文字幕一区二区不卡| 日本v片在线高清不卡在线观看| 91网页版在线| 久久午夜色播影院免费高清| 亚洲第一久久影院| 不卡的电影网站| wwww国产精品欧美| 日韩影院精彩在线| 在线看日韩精品电影| 国产精品色噜噜| 久久99深爱久久99精品| 欧美日韩国产中文| 亚洲免费在线播放| 国产69精品一区二区亚洲孕妇| 日韩精品一区二区三区三区免费| 亚洲第一av色|