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

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

?? messageprocessor.java

?? 基于jxta的局域網P2P文件共享,可以實現局域網中的文件p2p共享,實現文件快速傳輸及交流
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package connex.core.Presence;

import net.jxta.endpoint.*;
import connex.core.net.*;
import org.apache.log4j.Logger;
import org.apache.log4j.Level;
import net.jxta.document.MimeMediaType;
import java.util.*;
import net.jxta.document.XMLDocument;
import net.jxta.protocol.PeerAdvertisement;
import net.jxta.document.AdvertisementFactory;
import java.io.InputStream;
import java.io.IOException;
import java.io.FileInputStream;
import java.io.File;

import java.io.FileOutputStream;

public class MessageProcessor {
    private final static Logger LOG = org.apache.log4j.Logger.getLogger(
            MessageProcessor.class.getName());
    private WorkspaceConnection ses;

    /**
     * @directed
     */
    private MemberCollection members;

    /**
     * @associates connex.core.Presence.PresenceListener
     */
    /**
     * The vector containing the registered listeners which have to be notified.
     */

    private Vector presenceListenersVector = new java.util.Vector();
    //  private Member memb;
    private Hashtable<String,
            ServiceListener> services = new Hashtable<String, ServiceListener>();


    /**
     * Constructor
     * @param ses WorkspaceSession
     */
    protected MessageProcessor(WorkspaceConnection ses) {
        LOG.setLevel(Level.INFO);
        this.ses = ses;
        this.members = PresenceService.getInstance().getMemberCollection();
    }

    protected void process(Message msg) {
        String version;
        String membId = null;
        String backId = null;
        String type;
        String status = null;
        PeerAdvertisement peerAdv = null;
        ProfileAdv profileAdv = null;
        /* Message header*/

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

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

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

        el = msg.getMessageElement(PresenceProtocol.nameSpace,
                                   PresenceProtocol.backDoorTag);
        if (el != null) {
            backId = el.toString();
        }

        el = msg.getMessageElement(PresenceProtocol.nameSpace,
                                   PresenceProtocol.typeTag);
        if (el != null) {
            type = el.toString();
            System.out.println();
            if (LOG.isEnabledFor(Level.INFO)) {
                LOG.info("Recived Message Type = " + type);
            }
            /*StatusUpdate Message*/

            if (type.equals(PresenceProtocol.statusUpdate)) {
                el = msg.getMessageElement(PresenceProtocol.nameSpace,PresenceProtocol.statusTag);
                if (el != null) {
                    status = el.toString();
                }

                // rigesterMember(membId, status, null, null, backId);
                this.processStatusUpdate(membId, status, backId);
                return;
            }

            /*pictureRequest Message*/
            if (type.equals(PresenceProtocol.pictureRequest)) {

                processPicReq(backId);
                return;
            }
            /*pictureResponse*/
            if (type.equals(PresenceProtocol.pictureResponse)) {

                processPicRes(membId, msg.getMessageElement(PresenceProtocol.nameSpace,
                        PresenceProtocol.pictureTag).
                              getBytes(false));
                return;
            }
            /*pictureUpdate Message*/
            if (type.equals(PresenceProtocol.pictureUpdate)) {

                processPicUpdate(membId, status, backId);
                return;
            }
            /*presenceRequest*/
            if (type.equals(PresenceProtocol.presenceRequest)) {
                el = msg.getMessageElement(PresenceProtocol.nameSpace,
                                           PresenceProtocol.statusTag);
                if (el != null) {
                    status = el.toString();
                }

                profileAdv = this.getProfileAdvFromMessage(msg);
                peerAdv = this.getPeerAdvFromMessage(msg);
                processpresenceReq(membId, status, profileAdv, peerAdv, backId);

                return;
            }
            if (type.equals(PresenceProtocol.presenceResponse)) {
                el = msg.getMessageElement(PresenceProtocol.nameSpace,
                                           PresenceProtocol.statusTag);
                if (el != null) {
                    status = el.toString();
                }

                profileAdv = this.getProfileAdvFromMessage(msg);
                peerAdv = this.getPeerAdvFromMessage(msg);
                processpresenceRes(membId, status, profileAdv, peerAdv, backId);

                return;
            }
            if (type.equals(PresenceProtocol.presenceUpdate)) {
                el = msg.getMessageElement(PresenceProtocol.nameSpace,
                                           PresenceProtocol.statusTag);
                if (el != null) {
                    status = el.toString();
                }

                profileAdv = this.getProfileAdvFromMessage(msg);
                peerAdv = this.getPeerAdvFromMessage(msg);
                processpresenceUpdate(membId, status, profileAdv, peerAdv,
                                     backId);

                return;
            }

            if (type.equals(PresenceProtocol.serviceRequest)) {

                processServiceReq(backId,
                                  msg.getMessageElement(PresenceProtocol.
                        nameSpace,
                        PresenceProtocol.serviceTag).toString());

                return;
            }
            if (type.equals(PresenceProtocol.serviceResponse)) {

                processServiceRes(membId,
                                  msg.getMessageElement(PresenceProtocol.
                        nameSpace,
                        PresenceProtocol.serviceTag).toString(),
                                  msg.getMessageElement(PresenceProtocol.
                        nameSpace,
                        PresenceProtocol.servicePipeTag).toString()
                        );

                return;
            }

        }

    }

    private ProfileAdv getProfileAdvFromMessage(Message msg) {
        ProfileAdv profileAdv = null;
        try {
            MessageElement el = msg.getMessageElement(PresenceProtocol.
                    nameSpace,
                    PresenceProtocol.profileTag);
            if (el != null) {

                InputStream in = el.getStream();
                profileAdv = (ProfileAdv)
                             AdvertisementFactory.newAdvertisement(
                                     el.
                                     getMimeType(), in);

            }

        } catch (IOException e) {
            if (LOG.isEnabledFor(Level.ERROR)) {
                LOG.error(
                        "failed to process presenceRequest message",
                        e);
            }
        }

        return profileAdv;
    }

    private PeerAdvertisement getPeerAdvFromMessage(Message msg) {
        PeerAdvertisement peerAdv = null;
        try {
            MessageElement el = msg.getMessageElement(PresenceProtocol.
                    nameSpace,
                    PresenceProtocol.peerTag);
            if (el != null) {

                InputStream in = el.getStream();
                peerAdv = (PeerAdvertisement)
                          AdvertisementFactory.newAdvertisement(
                                  el.
                                  getMimeType(), in);

            }

        } catch (IOException e) {
            if (LOG.isEnabledFor(Level.ERROR)) {
                LOG.error(
                        "failed to process presenceRequest message",
                        e);
            }
        }

        return peerAdv;
    }


    /**
     * propagete a PresenceRequestMessage within the Workspace.
     */
    protected void sendPresenceReq() {
        Message msg = PresenceProtocol.createPresenceMessage(PresenceProtocol.presenceRequest);

        try {

            ses.send(msg);
            if (LOG.isEnabledFor(Level.INFO)) {
                LOG.info(" presenceReqMessage sent");
            }
        } catch (Exception ex) {

            ex.printStackTrace();
        }

    }

    /**
     * creats a PresenceRequestMessage and sending it direct to other Member.
     * @param backID String
     */
    protected void sendPresenceReq(String backID) {
        Message msg = PresenceProtocol.createPresenceMessage(PresenceProtocol.presenceRequest);

        try {

            ses.sendToBackDoor(backID, msg); // send with back door pipe
            if (LOG.isEnabledFor(Level.INFO)) {
                LOG.info("(backDoor) presenceReqMessage sent");
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }


    /**
     * creats a response to the RequestMessage and sending it direct to the requester.
     * @param backID String
     */
    protected void sendPresenceRes(String backID) {

        Message msg = PresenceProtocol.createPresenceMessage(PresenceProtocol.
                presenceResponse);

        try {

            ses.sendToBackDoor(backID, msg); // send with back door pipe
            if (LOG.isEnabledFor(Level.INFO)) {
                LOG.info(" presenceRespondMessage sent");
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    protected void sendPresenceUpdate() {
        Message msg = PresenceProtocol.createPresenceMessage(PresenceProtocol.presenceUpdate);

        try {

            ses.send(msg);
            if (LOG.isEnabledFor(Level.INFO)) {
                LOG.info(" presenceUpdateMessage sent");
            }
        } catch (Exception ex) {

            ex.printStackTrace();
        }

    }


    protected synchronized void sendStatusUpdate(String status) {
        Message msg = PresenceProtocol.createStatusUpdateMessage(status);

        ses.send(msg);
        if (LOG.isEnabledFor(Level.INFO)) {
            LOG.info(" StatusUpdateMessage sent");
        }

    }

    protected synchronized void sendPicReq(String backID) {
        Message msg = PresenceProtocol.createMessage(PresenceProtocol.pictureRequest);

        try {

            ses.sendToBackDoor(backID, msg); // send with back door pipe
            if (LOG.isEnabledFor(Level.INFO)) {
                LOG.info(" pictureRequestMessage sent");
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }

    /**
     *
     * @param backID String
     */
    protected synchronized void sendPicRes(String backID) {
        Message msg = PresenceProtocol.createPictureResponseMessage();

        if (msg != null) {

            try {

                ses.sendToBackDoor(backID, msg); // send with back door pipe
                if (LOG.isEnabledFor(Level.INFO)) {
                    LOG.info(" pictureResponseMessage sent");
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品视频| 久草精品在线观看| 久久国产精品色婷婷| 成人高清伦理免费影院在线观看| 色网站国产精品| 欧美日韩一区二区三区四区 | 久久不见久久见免费视频7| av电影在线观看完整版一区二区| 日韩写真欧美这视频| 一区二区三区精品在线| 成人一区在线观看| 亚洲精品一区二区三区蜜桃下载 | 国产精品自拍一区| 欧美一区二区视频在线观看 | 97精品国产露脸对白| 精品欧美一区二区在线观看| 亚洲v日本v欧美v久久精品| 91在线精品一区二区三区| 国产欧美一区二区精品性| 久久精品国产一区二区三区免费看 | 在线一区二区三区四区| 中文字幕一区二区三区不卡| 国产精品一区在线观看你懂的| 3atv在线一区二区三区| 亚洲成人精品在线观看| 欧美亚洲动漫精品| 一区二区三区高清| 色综合久久88色综合天天| 中文字幕中文字幕一区| 成人免费观看视频| 国产精品久久久久久户外露出| 国产91在线看| 欧美激情一区二区三区| 成人av电影观看| 国产精品久久久久久久久免费樱桃| 高清shemale亚洲人妖| 久久精品人人爽人人爽| 国产盗摄一区二区| 欧美激情艳妇裸体舞| 成人精品电影在线观看| 国产精品电影院| 色综合中文字幕| 亚洲国产日韩a在线播放| 欧美日本精品一区二区三区| 性欧美疯狂xxxxbbbb| 欧美精品 日韩| 久久精品国内一区二区三区| 国产色产综合产在线视频| 成人动漫av在线| 亚洲最色的网站| 欧美一级黄色大片| 国产福利一区在线| 一区二区三区四区不卡视频| 欧美日韩免费一区二区三区视频| 日韩电影在线一区二区三区| 精品国产一区二区三区av性色 | 自拍av一区二区三区| 93久久精品日日躁夜夜躁欧美| 一区二区三区在线免费播放| 日韩欧美一区在线观看| 懂色一区二区三区免费观看| 亚洲精品国产一区二区精华液| 欧美日韩国产乱码电影| 卡一卡二国产精品| 国产精品素人一区二区| 在线欧美小视频| 国产在线视视频有精品| 一区二区三区在线免费观看| 精品国产免费一区二区三区四区 | 国产不卡视频在线播放| 亚洲国产成人午夜在线一区| 在线欧美日韩国产| 国产乱码精品一区二区三区五月婷 | 2024国产精品| 在线一区二区三区四区五区| 国产乱理伦片在线观看夜一区| 亚洲精品国久久99热| 久久女同精品一区二区| 91成人在线精品| 丁香婷婷综合五月| 美女网站色91| 洋洋av久久久久久久一区| 国产偷国产偷精品高清尤物 | 七七婷婷婷婷精品国产| 一区精品在线播放| 亚洲精品一区二区三区影院| 色噜噜狠狠色综合中国| 国产精品系列在线观看| 视频一区欧美精品| 亚洲午夜一二三区视频| 国产精品高潮呻吟| 精品久久久久久久人人人人传媒| 欧美综合一区二区| 一本色道**综合亚洲精品蜜桃冫| 狠狠色丁香婷婷综合久久片| 午夜精品福利视频网站| 亚洲黄色免费网站| 国产精品高潮呻吟| 欧美极品少妇xxxxⅹ高跟鞋| 久久美女高清视频| 久久午夜色播影院免费高清| 欧美一区二区在线视频| 欧美色精品天天在线观看视频| 91日韩在线专区| 成人午夜电影久久影院| 国产精品一区二区在线观看网站| 麻豆专区一区二区三区四区五区| 亚洲国产色一区| 婷婷激情综合网| 五月婷婷色综合| 日本vs亚洲vs韩国一区三区 | 亚洲精品在线观看网站| 日韩欧美一区二区免费| 欧美一区二区三区免费| 日韩午夜av一区| 欧美白人最猛性xxxxx69交| 日韩欧美国产一区二区三区| 日韩三级电影网址| 日韩一区二区视频在线观看| 51久久夜色精品国产麻豆| 欧美亚洲精品一区| 92国产精品观看| 国产乱码精品一区二区三区忘忧草| 免费黄网站欧美| 日日欢夜夜爽一区| 首页欧美精品中文字幕| 精品久久久久久久久久久久包黑料| 91精品国产91久久综合桃花| 91精品国产综合久久婷婷香蕉| 精品视频免费看| 欧美日韩一区二区三区在线看| 99re这里只有精品视频首页| 在线视频欧美区| 欧美三日本三级三级在线播放| 色猫猫国产区一区二在线视频| 成人深夜在线观看| 老司机精品视频在线| 美腿丝袜一区二区三区| 精品在线播放免费| 国产成人在线电影| 国产综合色视频| 日本久久电影网| 91麻豆精品国产91久久久久| 欧美一级淫片007| 中文字幕免费观看一区| 中文av一区二区| 亚洲精品久久久久久国产精华液| 午夜精品免费在线观看| 精品一区二区三区在线播放视频| 国产自产高清不卡| 国内精品伊人久久久久影院对白| 99精品国产91久久久久久| 91久久精品日日躁夜夜躁欧美| 欧美亚洲一区三区| 日韩一级免费观看| 精品国产乱码久久久久久影片| 久久久久久综合| 日韩精品一区二区三区中文精品| 欧美精品一区二区三区视频| 国产精品久久毛片| 亚洲成av人片一区二区三区| 麻豆成人久久精品二区三区红| 国产激情一区二区三区四区| 欧美日韩免费观看一区三区| 精品日韩在线一区| **性色生活片久久毛片| 男女性色大片免费观看一区二区| 亚洲3atv精品一区二区三区| 成人免费看黄yyy456| 午夜精品在线视频一区| 成人综合在线视频| 色噜噜偷拍精品综合在线| 精品欧美久久久| 亚洲人精品午夜| 美国精品在线观看| 678五月天丁香亚洲综合网| 91精品国产乱| 亚洲国产精品一区二区久久恐怖片 | 成人免费视频一区| 欧美视频三区在线播放| 中文字幕一区二区三区精华液 | 国产亚洲精品7777| 日韩精品福利网| 在线视频你懂得一区二区三区| 2024国产精品| 黄色小说综合网站| 国产91露脸合集magnet| 欧美成人性战久久| 日本aⅴ免费视频一区二区三区| 色婷婷精品久久二区二区蜜臂av | 日韩欧美一二三四区| 日韩精品成人一区二区在线| 91成人国产精品| 自拍偷拍欧美激情| 91小视频在线观看| 中文字幕精品—区二区四季| www.久久精品| 日本一区二区在线不卡| 成人h动漫精品一区二区| 欧美不卡在线视频|