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

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

?? messengersession.java

?? 基于jxta的P2P框架的系統
?? JAVA
字號:
/**
 * -- Copyright (C) 2006 Hisham Khalil. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
 *
 * Author: Hisham Khalil <hishberlin@hotmail.com>
 */
package connex.plugins.Messenger;

import connex.core.net.ConnectionClient;
import net.jxta.endpoint.Message;
import connex.core.net.MemberConnection;
import connex.core.net.ConnectionFactory;
import net.jxta.endpoint.MessageElement;
import connex.core.Presence.PresenceService;
import net.jxta.endpoint.StringMessageElement;
import java.io.InputStream;
import java.io.FileInputStream;
import java.io.File;
import net.jxta.endpoint.ByteArrayMessageElement;
import net.jxta.document.MimeMediaType;
import javax.swing.ImageIcon;
import connex.core.WS.Workspace;

public class MessengerSession
    implements ConnectionClient, SendListener {
  private MemberConnection mConnection;

  /**
   * @link aggregationByValue
   * @directed
   * @supplierCardinality 1
   * @clientCardinality 1
   */
  private MsgrSessionGUI gui;
  private String sessionID;

  public MessengerSession(MemberConnection mConnection) {
    this.mConnection = mConnection;
    this.sessionID = mConnection.getRemotPeerID();
    mConnection.setClient(this);
    if (mConnection.connect()) {
      MessengerService.getInstance().addSession(mConnection.getRemotPeerID(), this);
      gui = new MsgrSessionGUI(mConnection.getRemotePeerName());
      gui.setSender(this);

    }

  }

  public MessengerSession(Workspace ws, String name, String desMembID,
                          String pipeId) {
    this.mConnection = (MemberConnection) ConnectionFactory.newMemberConnection(
        ws, desMembID,
        pipeId, this);
    this.sessionID = desMembID;

    if (mConnection.connect()) {
      MessengerService.getInstance().addSession(desMembID, this);
      gui = new MsgrSessionGUI(name);
      gui.setSender(this);
    }
  }

  public synchronized void stop() {
    try {
      if (mConnection.disConnect()) {
        MessengerService.getInstance().removeSession(this.sessionID);
        System.out.println("sessionid Removed");
        mConnection = null;

        gui.dispose();
        gui = null;

      }

    }
    catch (Exception ex) {
    }
  }

  public String getClientName() {
    return "MessengerServiceSession";
  }

  protected void showWindow() {
    if (null != gui) {
      gui.setVisible(true);
    }
  }

  public synchronized void sendChatMessage(String text) {
    Message msg = createChatMessage(text);
    System.out.println(msg.getByteLength());
    if (msg != null) {
      mConnection.send(createChatMessage(text));
    }
  }

  public void sendPicture(File file) {
    mConnection.send(createPictureMessage(file));
  }

  public void reciveMessage(Message message) {
    process(message);
  }

  private void process(Message msg) {
    String version = null;
    String membId = null;
    String membName = null;
    String type = null;
    String data = null;

    /* Message header*/

    MessageElement el = msg.getMessageElement(MessengerProtocol.nameSpace,
                                              MessengerProtocol.version);

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

    el = msg.getMessageElement(MessengerProtocol.nameSpace,
                               MessengerProtocol.membIDTag);
    if (el != null) {
      membId = el.toString();

    }

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

    el = msg.getMessageElement(MessengerProtocol.nameSpace,
                               MessengerProtocol.typeTag);
    if (el != null) {
      type = el.toString();

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

      /*** Messagetype*****************/

      if (type.equals(MessengerProtocol.message)) {
        el = msg.getMessageElement(MessengerProtocol.nameSpace,
                                   MessengerProtocol.messageTag);
        if (el != null) {
          data = el.toString();
        }
        gui.showMsg(membName, data);

        return;
      }
      if (type.equals(MessengerProtocol.picture)) {
        byte[] imgbuff = null;

        try {
          imgbuff = msg.getMessageElement(MessengerProtocol.nameSpace, "image").
              getBytes(false);
        }
        catch (Exception ex) {
        }
        gui.setHisImage(new ImageIcon(imgbuff));
      }

    }
  }

  /**
   * Create the Message Header
   * @param type String
   * @return Message
   */
  private Message createMessage(String type) {
    Message msg = new Message();
    /* version */
    msg.addMessageElement(MessengerProtocol.nameSpace,
                          new
                          StringMessageElement(MessengerProtocol.
                                               versionTag,
                                               MessengerProtocol.version, null));
    /* MemberID*/
    msg.addMessageElement(MessengerProtocol.nameSpace,
                          new
                          StringMessageElement(MessengerProtocol.
                                               membIDTag,
                                               PresenceService.getInstance().
                                               getmOwnPeerAdv().getPeerID().
                                               toString(), null));
    /* MemberName*/
    msg.addMessageElement(MessengerProtocol.nameSpace,
                          new
                          StringMessageElement(MessengerProtocol.membNameTag
                                               ,
                                               PresenceService.getInstance().
                                               getmOwnPprofileAdv().getName(), null));

    /* type */
    msg.addMessageElement(MessengerProtocol.nameSpace,
                          new
                          StringMessageElement(MessengerProtocol.typeTag,
                                               type, null));
    return msg;
  }

  /**
   * create a new chatMessage
   * @param messageText String
   * @return Message
   */
  private Message createChatMessage(String messageText) {
    Message msg = this.createMessage(MessengerProtocol.message);
    /*Messagedata*/
    msg.addMessageElement(MessengerProtocol.nameSpace,
                          new
                          StringMessageElement(MessengerProtocol.messageTag,
                                               messageText, null));

    return msg;
  }

  /**
   * create a new pictureMessage
   * @param messageText String
   * @return Message
   */
  private Message createPictureMessage(File file) {
    Message msg = this.createMessage(MessengerProtocol.picture);
    /*Messagedata*/
    InputStream in = null;
    int buffSize = 64 * 1024;
    int length = 0;
    byte[] buff = new byte[buffSize];
    try {
      in = new FileInputStream(file);
      length = in.read(buff);
      in.close();
    }
    catch (Exception ex) {
    }

    ByteArrayMessageElement meli = new ByteArrayMessageElement("image",
        MimeMediaType.AOS, buff, 0, length, null);

    msg.addMessageElement(MessengerProtocol.nameSpace, meli);

    return msg;
  }

  public void closedFromRemote() {
    this.mConnection = null;
    MessengerService.getInstance().removeSession(this.sessionID);
    gui.freez();

  }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本成人在线不卡视频| 欧美日韩国产小视频| 91黄色在线观看| 久久日韩粉嫩一区二区三区| 亚洲久草在线视频| 国产黄色精品视频| 在线电影欧美成精品| 1区2区3区国产精品| 久久国产精品72免费观看| 91在线观看美女| 久久在线观看免费| 日韩一卡二卡三卡国产欧美| 久久精品亚洲国产奇米99| 亚洲一区二区三区在线| 99免费精品在线| 久久伊人中文字幕| 日本欧美在线看| 在线观看免费亚洲| 国产精品美女久久久久aⅴ| 蜜臀av性久久久久av蜜臀妖精| 欧洲生活片亚洲生活在线观看| 中文字幕av一区二区三区高| 久久99精品久久久久婷婷| 69堂精品视频| 午夜不卡在线视频| 在线观看91视频| 亚洲人成伊人成综合网小说| 成人精品亚洲人成在线| 久久精品亚洲国产奇米99| 激情综合一区二区三区| 精品理论电影在线| 麻豆91精品视频| 欧美成人激情免费网| 日本不卡视频在线| 日韩欧美精品三级| 另类小说一区二区三区| 日韩免费性生活视频播放| 欧美aaa在线| 久久网站热最新地址| 国产主播一区二区三区| 久久久久久久久久久久久久久99| 久久99精品国产麻豆婷婷| 国产婷婷精品av在线| 大白屁股一区二区视频| 国产精品久久三区| 色婷婷久久综合| 亚洲国产视频网站| 日韩限制级电影在线观看| 另类综合日韩欧美亚洲| 日本一区二区三区电影| 成人免费视频视频| 一区二区三区在线视频免费观看| 欧美色图12p| 美腿丝袜亚洲一区| 欧美国产精品久久| 在线视频综合导航| 日韩精品亚洲一区| 久久亚洲春色中文字幕久久久| 国产91丝袜在线播放| 亚洲一区在线免费观看| 日韩一级二级三级精品视频| 粉嫩绯色av一区二区在线观看 | 久久99精品久久久久久| 欧美二区乱c少妇| 日韩国产一区二| 国产香蕉久久精品综合网| 99久久国产免费看| 日本系列欧美系列| 久久女同精品一区二区| 99视频一区二区| 日本不卡1234视频| 日韩毛片精品高清免费| 91精品午夜视频| 99久久婷婷国产综合精品电影 | 成人91在线观看| 日韩精品五月天| 国产欧美视频在线观看| 色欲综合视频天天天| 青青草成人在线观看| 国产精品天美传媒| 欧美一级高清大全免费观看| www.视频一区| 麻豆国产精品一区二区三区| 亚洲欧美日韩国产手机在线| 日韩亚洲欧美在线观看| 色婷婷久久一区二区三区麻豆| 国产一区二区三区四| 亚洲动漫第一页| 亚洲视频一二三| 久久久精品日韩欧美| 免费在线看成人av| 国产亚洲精品超碰| 99综合电影在线视频| 国产精品国产三级国产aⅴ中文 | 日本成人在线网站| 欧美性大战久久久| 日韩中文字幕亚洲一区二区va在线| 日韩欧美在线123| 免费视频一区二区| 亚洲欧美国产毛片在线| 亚洲综合一二三区| 国产精品久久久久久久久免费丝袜| 精品国产一区二区亚洲人成毛片 | 国产偷国产偷精品高清尤物| 日韩女同互慰一区二区| 91精品国产综合久久精品麻豆| 91色九色蝌蚪| av一区二区久久| 国产成人免费视频网站| 国产在线精品一区二区不卡了| 五月天丁香久久| 精品视频在线视频| 国产美女娇喘av呻吟久久| 美美哒免费高清在线观看视频一区二区 | 91婷婷韩国欧美一区二区| 日本午夜一本久久久综合| 欧美一级视频精品观看| 国产一区二区三区在线观看精品| 国产精品久久久久久久久图文区| 欧美一级久久久久久久大片| 成人免费看片app下载| 在线观看亚洲成人| 欧美性色综合网| 成人国产精品免费观看| 久久精品国产秦先生| 欧美国产一区视频在线观看| 欧美日韩一级二级三级| 91在线一区二区三区| 国产一区二区三区在线观看精品 | 精品综合免费视频观看| 91黄色激情网站| 久久草av在线| 亚洲免费在线视频| 国产精品久久久久久久久免费桃花 | 亚洲天堂福利av| 精品视频一区三区九区| 成人网页在线观看| 91麻豆精品91久久久久同性| 欧美精品丝袜中出| 久久国产综合精品| 国产揄拍国内精品对白| 粉嫩久久99精品久久久久久夜| 91影院在线免费观看| 欧美午夜一区二区三区| 欧美一区二区三区在线观看视频| 亚洲精品日产精品乱码不卡| 午夜一区二区三区视频| 日韩不卡一区二区三区| 国产一区 二区 三区一级| 99久久伊人精品| 欧美一三区三区四区免费在线看| 久久精品在线免费观看| 一区二区三区四区国产精品| 久久国产生活片100| 欧美欧美午夜aⅴ在线观看| 欧美一区三区二区| 91视频免费看| 精品久久五月天| 一卡二卡欧美日韩| 视频一区中文字幕国产| 99热99精品| 丁香激情综合五月| 精品亚洲成av人在线观看| 99视频在线观看一区三区| 欧美综合一区二区三区| 久久中文娱乐网| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美优质美女网站| 欧美成人精品1314www| 免费成人在线视频观看| 从欧美一区二区三区| 日韩一区二区高清| 亚洲乱码国产乱码精品精小说| 国产一区二区三区在线观看精品| 欧美无乱码久久久免费午夜一区| 中文字幕av资源一区| 久久精品国产99国产精品| 欧美色图片你懂的| 中文字幕的久久| 蜜桃视频第一区免费观看| 在线观看日韩电影| 中文字幕一区二区三区精华液| 国产九色精品成人porny| 欧美一二三区在线观看| 久久久精品欧美丰满| 日韩一区精品视频| 欧美天堂一区二区三区| 亚洲欧美色综合| 成a人片亚洲日本久久| 国产目拍亚洲精品99久久精品| 精品一区二区在线看| 91精品国产色综合久久| 午夜精品一区二区三区三上悠亚| 99国产一区二区三精品乱码| 久久精品男人的天堂| 国产成人综合在线| 久久综合色婷婷| 狠狠v欧美v日韩v亚洲ⅴ| 欧美一级国产精品| 毛片基地黄久久久久久天堂|