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

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

?? messageprocessor.java

?? 基于jxta的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一区二区三区免费野_久草精品视频
亚洲色图欧美偷拍| 日本麻豆一区二区三区视频| 不卡大黄网站免费看| 久久99久久精品欧美| 亚洲午夜激情网页| 亚洲人成在线播放网站岛国| 成人免费看黄yyy456| 成人免费一区二区三区视频| 中文字幕一区av| 亚洲精品乱码久久久久久黑人 | 色综合一个色综合| 色综合久久中文字幕综合网| 色就色 综合激情| 在线观看三级视频欧美| 欧美日本韩国一区二区三区视频| 欧美日韩一区久久| 91精品国产入口| 精品国产乱码久久久久久1区2区| 26uuu色噜噜精品一区二区| 精品国产sm最大网站| 日本一区二区成人在线| 一区二区三区在线免费| 婷婷激情综合网| 国产一区二区三区四区五区入口 | 成人av免费在线| 99精品黄色片免费大全| 欧美亚洲综合色| 欧美大片在线观看一区| 国产精品欧美一级免费| 亚洲美女区一区| 国内成人免费视频| 色综合久久99| 精品电影一区二区三区| 亚洲欧洲制服丝袜| 蓝色福利精品导航| 91搞黄在线观看| 久久亚洲欧美国产精品乐播| 18涩涩午夜精品.www| 蜜臀av性久久久久av蜜臀妖精 | 免费av成人在线| 成人免费视频app| 9191精品国产综合久久久久久| 久久精品人人做人人爽97| 亚洲午夜久久久久久久久久久| 狠狠色综合色综合网络| 欧美在线综合视频| 国产欧美日韩久久| 青青草原综合久久大伊人精品 | 国产欧美日韩综合| 日日骚欧美日韩| 99精品一区二区| 久久综合久色欧美综合狠狠| 天堂蜜桃一区二区三区| 成人黄色av电影| 久久综合九色综合欧美亚洲| 午夜一区二区三区视频| 972aa.com艺术欧美| 国产亚洲制服色| 久久69国产一区二区蜜臀| 欧美日韩一区二区三区高清 | 三级亚洲高清视频| 国产一区欧美一区| 欧美一区二区视频在线观看2022 | 欧美sm美女调教| 亚洲人吸女人奶水| 波多野结衣在线一区| 久久伊人蜜桃av一区二区| 免费观看一级欧美片| 欧美巨大另类极品videosbest| 亚洲视频狠狠干| 91在线观看视频| 亚洲欧美色一区| 色狠狠一区二区| 一个色综合网站| 在线一区二区观看| 夜夜爽夜夜爽精品视频| 欧美最猛性xxxxx直播| 一区二区欧美精品| 欧美日韩精品综合在线| 午夜久久久影院| 日韩区在线观看| 国产高清无密码一区二区三区| 欧美精品一区二区精品网| 国产美女久久久久| 国产日韩欧美综合在线| 国产mv日韩mv欧美| 亚洲欧美日韩国产一区二区三区 | 国产欧美精品一区| 成人久久久精品乱码一区二区三区 | 六月丁香婷婷久久| 精品福利视频一区二区三区| 狠狠久久亚洲欧美| 欧美国产1区2区| 一本到三区不卡视频| 亚洲大片精品永久免费| 日韩三级精品电影久久久| 国产盗摄精品一区二区三区在线| 国产精品毛片高清在线完整版| 97精品超碰一区二区三区| 亚洲综合男人的天堂| 欧美一区午夜视频在线观看 | 亚洲综合在线第一页| 91精品国产品国语在线不卡| 久久精品国产秦先生| 17c精品麻豆一区二区免费| 欧美视频在线观看一区二区| 日韩电影免费在线观看网站| 久久久777精品电影网影网 | 日韩一二三区视频| 成人av在线网| 日韩在线卡一卡二| 中文字幕免费观看一区| 欧美色成人综合| 国产成人在线观看| 日韩精彩视频在线观看| 国产精品久久久久一区二区三区| 欧美日韩三级在线| 国产不卡高清在线观看视频| 亚洲成年人影院| 欧美国产日本韩| 欧美一级免费大片| 99久久精品免费| 国产精品乡下勾搭老头1| 亚洲成人tv网| 中文字幕中文字幕一区| 精品免费国产二区三区| 欧美三级电影网| caoporn国产一区二区| 国产一区二区三区黄视频| 亚洲成人一二三| 一区二区三区蜜桃| 国产精品国产三级国产专播品爱网| 欧美精品第1页| 欧美曰成人黄网| 色又黄又爽网站www久久| 国产成人午夜高潮毛片| 蜜乳av一区二区| 亚洲sss视频在线视频| 一区二区在线观看免费| 国产精品福利av| 国产欧美日本一区二区三区| 精品国产91乱码一区二区三区| 6080亚洲精品一区二区| 在线观看亚洲精品视频| 色综合久久综合网97色综合| www.欧美日韩国产在线| 国产999精品久久久久久| 国内欧美视频一区二区| 国产一区二区在线视频| 国产在线不卡一卡二卡三卡四卡| 免费观看在线色综合| 青青青爽久久午夜综合久久午夜| 视频一区二区三区入口| 天天色综合天天| 日韩成人免费电影| 日本网站在线观看一区二区三区 | 国产亚洲视频系列| 国产日韩欧美精品一区| 久久精品一区二区三区四区| 久久精品人人做人人爽97| 国产亚洲精品aa| 国产精品国产精品国产专区不片| 国产精品国产精品国产专区不蜜| 中文字幕在线不卡一区二区三区| 国产精品久久久久久户外露出| 国产精品久久久久久久久晋中| 综合久久久久综合| 亚洲国产欧美日韩另类综合| 日本午夜一本久久久综合| 九九视频精品免费| 成人免费视频免费观看| 91成人免费网站| 日韩欧美亚洲国产另类| 国产日韩精品一区二区三区| 中文字幕一区二区三区四区不卡| 一区二区三区在线看| 裸体歌舞表演一区二区| 成人免费视频网站在线观看| 91麻豆.com| 日韩片之四级片| 成人欧美一区二区三区1314| 亚洲香肠在线观看| 韩国av一区二区三区四区| 白白色亚洲国产精品| 欧美日韩高清在线| 久久久久久久电影| 亚洲五码中文字幕| 狠狠久久亚洲欧美| 欧美日韩在线三区| ww亚洲ww在线观看国产| 亚洲人快播电影网| 久久99国产精品麻豆| 91蝌蚪国产九色| 精品毛片乱码1区2区3区| 亚洲色图一区二区三区| 麻豆精品一区二区av白丝在线| 成人黄色av电影| 欧美一区二区日韩一区二区| 国产精品丝袜91| 久久精品99国产国产精|