?? helloworldmy.java
字號:
package com.hotct.jxta;import net.jxta.id.IDFactory;import net.jxta.platform.NetworkConfigurator;import net.jxta.platform.NetworkManager;import net.jxta.peergroup.*;import net.jxta.peer.*;import java.text.MessageFormat;import java.io.File;import java.net.URI;import java.net.URISyntaxException;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.text.MessageFormat;/** * A example of strating and stopping JXTA */public class HelloWorldmy { /** * Main method * * @param args * none defined */ public static void main(String args[]) { NetworkManager manager = null; String seed = "hotct"; NetworkConfigurator netWorkCon = new NetworkConfigurator(); PeerGroup netPeerGroup = null; PeerID peerId = null; try { manager = new NetworkManager(NetworkManager.ConfigMode.EDGE,"HelloWorld", new File(new File(".cache"), "HelloWorld").toURI()); System.out.println("Starting JXTA"); ///////////////////////////NetworkManager///////////////////////////// manager.setConfigPersistent(true); manager.setInstanceHome(new File(new File(".leihl"), "Helen").toURI()); // 重新設置臨時文件夾的名稱 manager.setInstanceName("hotct"); manager.setMode(NetworkManager.ConfigMode.ADHOC); // 重新設置這個peer的模式 manager.setUseDefaultSeeds(true); //////////////////////////NetworkConfigurator//////////////////////// netWorkCon.setName("New Peer Name"); netWorkCon.setPrincipal("hotct"); //設置用戶名 netWorkCon.setPassword("password"); //設置密碼 netWorkCon.setHttpEnabled(true); //默認為true,允許http通信 netWorkCon.setHttpIncoming(true); //默認為false,允許http信息進入 netWorkCon.setHttpOutgoing(true); //默認為true,允許http信息輸出 netWorkCon.setTcpEnabled(true); //默認為true,允許tcp通信 netWorkCon.setTcpIncoming(true); //默認為true,允許tcp信息進入 netWorkCon.setTcpOutgoing(true); //默認為true,允許tcp信息輸出 /////////////////////////獲得默認點組//////////////////////////////// manager.startNetwork(); //應用設置,創建默認點組 netPeerGroup = manager.getNetPeerGroup(); // 獲得默認點組 /** * 設置peerID * 他所在點組的id加上將指定的字符串用SHA-1算法格式化以后的字符串 * 加入的點組:默認點組netPeerGroup * 指定的字符串:leihailong */ peerId = (PeerID) IDFactory.newPeerID(netPeerGroup.getPeerGroupID(), hash("leihailong".toLowerCase())); System.out.println(peerId); netPeerGroup.getPeerAdvertisement().setPeerID(peerId); System.out.println("JXTA Started"); /** * 打印對NetworkManager進行的設置的信息 */ System.out.println("<<<<<<<<<<<<<<<NetworkManager>>>>>>>>>>>>>>>>"); System.out.println(" InfrastructureID: "+ manager.getInfrastructureID()); System.out.println(" InstanceHome: "+ manager.getInstanceHome()); System.out.println(" InstanceName: "+ manager.getInstanceName()); System.out.println(" Mode: " + manager.getMode()); System.out.println(" UseDefaultSeeds: "+ manager.getUseDefaultSeeds()); System.out.println(" isConfigPersistent: "+ manager.isConfigPersistent()); System.out.println("<<<<<<<<<<<<<<<NetworkConfigurator>>>>>>>>>>>>>>>>"); System.out.println(" MulticastSiz: "+ netWorkCon.getMulticastSize()); System.out.println("----------------PlatformConfig------------------------- "); System.out.println(netWorkCon.getPlatformConfig()); /** * 打印默認點組的信息 */ System.out.println("<<<<<<<<<<<<<<<打印默認點組的信息>>>>>>>>>>>>>>>>"); System.out.println(" peerGroupID: "+ netPeerGroup.getPeerGroupID()); System.out.println(" PeerGroupName: "+ netPeerGroup.getPeerGroupName()); System.out.println(" PeerGroupAdvertisemen: "+ netPeerGroup.getPeerGroupAdvertisement()); System.out.println(" ParentGroup: "+ netPeerGroup.getParentGroup()); System.out.println(" StoreHome: "+ netPeerGroup.getStoreHome()); System.out.println(" lookupInstance: "+ netPeerGroup.globalRegistry.lookupInstance(netPeerGroup.getPeerGroupID())); /** * 打印對等點的信息 */ System.out.println("<<<<<<<<<<<<<<<<<<<<打印對等點的信息>>>>>>>>>>>>>>>>>>>>>>>"); System.out.println(" 設置前的peerID: " + manager.getPeerID()); System.out.println(" 設置后的PeerID: " + netPeerGroup.getPeerID()); System.out.println(" PeerName: " + netPeerGroup.getPeerName()); System.out.println(" PeerAdvertisement: "+ netPeerGroup.getPeerAdvertisement()); } catch (Exception e) { e.printStackTrace(); System.exit(-1); } System.out.println("Waiting for a rendezvous connection"); boolean connected = manager.waitForRendezvousConnection(12000); System.out.println(MessageFormat.format("Connected :{0}", connected)); System.out.println("Stopping JXTA"); manager.stopNetwork(); } /** * 用 SHA-1 算法對字符串進行格式化 * * @param expression * @return */ private static byte[] hash(final String expression) { byte[] result; MessageDigest digest; if (expression == null) { throw new IllegalArgumentException("Invalid null expression"); } try { digest = MessageDigest.getInstance("SHA1"); } catch (NoSuchAlgorithmException failed) { failed.printStackTrace(System.err); RuntimeException failure = new IllegalStateException( "Could not get SHA-1 Message"); failure.initCause(failed); throw failure; } try { byte[] expressionBytes = expression.getBytes("UTF-8"); result = digest.digest(expressionBytes); } catch (UnsupportedEncodingException impossible) { RuntimeException failure = new IllegalStateException( "Could not encode expression as UTF8"); failure.initCause(impossible); throw failure; } return result; }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -