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

📄 helloworldmy.java

📁 jxta接收消息的示例程序
💻 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 + -