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

📄 boot.java

📁 基于jxta的P2P框架的系统
💻 JAVA
字号:
package connex.core.WS;

import net.jxta.peergroup.PeerGroup;
import net.jxta.document.MimeMediaType;
import net.jxta.exception.PeerGroupException;

import net.jxta.document.StructuredDocumentFactory;
import net.jxta.document.AdvertisementFactory;
import net.jxta.document.StructuredDocument;
import java.io.FileInputStream;
import net.jxta.document.XMLElement;
import net.jxta.protocol.PeerGroupAdvertisement;
import java.io.IOException;
import net.jxta.protocol.ModuleImplAdvertisement;
import connex.core.WS.*;
import java.io.*;


import org.apache.log4j.Logger;
import org.apache.log4j.Level;
import net.jxta.membership.MembershipService;
import net.jxta.credential.AuthenticationCredential;
import net.jxta.impl.membership.pse.StringAuthenticator;
import net.jxta.peergroup.NetPeerGroupFactory;

import java.util.ResourceBundle;
import connex.app.wsUI.JoinWorkspaceDialog;
import net.jxta.credential.Credential;
import connex.app.RedenzvousWindow;


public class Boot  {
    protected static PeerGroup netPeerGroup = null;
    protected static PeerGroup ConneXGroup = null;
    private boolean joined = false;
private        RedenzvousWindow rendWindow;
    static final Logger LOG = Logger.getLogger(Boot.class);

    private Object lock = new Object();

    public Boot() {

    }

    /**
     *
     * @return boolean
     */
    protected boolean launchConneX() {
        LOG.setLevel(Level.INFO);

        try {

            NetPeerGroupFactory ntp = new NetPeerGroupFactory();
            netPeerGroup = ntp.getInterface();
            ConneXGroup = netPeerGroup;
            JoinWorkspaceDialog j = new JoinWorkspaceDialog(null,
                    new Workspace(netPeerGroup));
            if (j.isCanceled()) {
                netPeerGroup.unref();
                System.exit(0);
            }

            if (WorkspaceUtil.isAuthenticated(new Workspace(netPeerGroup))) {
                joined = true;
                RendezvousTracker rdvt = new RendezvousTracker(netPeerGroup);
                System.out.println("strt window");
                rendWindow= new RedenzvousWindow(null);
                rdvt.addListener(rendWindow);
                 rendWindow.setVisible(true);
                 System.out.println("end  window");

                if (!netPeerGroup.getRendezVousService().isConnectedToRendezVous()) {


                }else{

                    if (LOG.isEnabledFor(Level.INFO)) {
                        LOG.info("RendezvousID :" + rdvt.getConnectedRdvID());
                    }


                }

            }
        } catch (PeerGroupException ex) {
            System.exit(0);
        }

        return joined;
    }



    public static boolean login(String principal, String password) {
        try {
            StringAuthenticator auth = null;
            MembershipService membership = netPeerGroup.getMembershipService();
            Credential cred = membership.getDefaultCredential();
            if (cred == null) {
                AuthenticationCredential authCred = new AuthenticationCredential(
                        netPeerGroup, "StringAuthentication", null);
                try {
                    auth = (StringAuthenticator) membership.apply(authCred);
                } catch (Exception failed) {

                }

                if (auth != null) {
                    auth.setAuth1_KeyStorePassword(password.toCharArray());
                    auth.setAuth2Identity(netPeerGroup.getPeerID());
                    auth.setAuth3_IdentityPassword(password.toCharArray());
                    if (auth.isReadyForJoin()) {
                        membership.join(auth);

                        return true;
                    }
                }

            }

        } catch (Throwable e) {

            System.err.println("Uncaught Throwable caught by 'main':");
            e.printStackTrace();
            System.exit(1);
        } finally {
            System.err.flush();
            System.out.flush();
        }
        return false;
    }


}

⌨️ 快捷键说明

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