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

📄 discandjoin.java

📁 jxta新建点组的示例程序
💻 JAVA
字号:
import net.jxta.discovery.DiscoveryEvent;
import net.jxta.discovery.DiscoveryListener;
import net.jxta.discovery.DiscoveryService;
import net.jxta.document.Advertisement;
import net.jxta.document.AdvertisementFactory;
import net.jxta.document.MimeMediaType;
import net.jxta.peergroup.PeerGroup;
import net.jxta.peergroup.PeerGroupID;
import net.jxta.protocol.DiscoveryResponseMsg;
import net.jxta.protocol.ModuleImplAdvertisement;
import net.jxta.protocol.PeerGroupAdvertisement;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Enumeration;

/**
 * 查找点组chatpg1的通告,如果找到就加入,如果没有找到就创建
 */
public class DiscAndJoin {
	
	private PeerGroup chatpg1;

	public PeerGroup JoinPeerGroup(PeerGroup netPeerGroup,DiscoveryService hdisco) throws Exception {

		int count = 3;

		Enumeration ae = null;
		//查找点组通告
		while (count-- > 0) {
			try {
				hdisco.getRemoteAdvertisements(null, DiscoveryService.GROUP,
						"Name", "chaolu", 1, null);

				try {
					Thread.sleep(10000);
				} catch (InterruptedException ie) {}

				ae = hdisco.getLocalAdvertisements(DiscoveryService.GROUP,
						"Name", "chaolu");
				if ((ae != null) && ae.hasMoreElements()) {
					break;
				}
			} catch (IOException e) {
			}

		}
		PeerGroupAdvertisement chatpgAdv = null;
		//如果没有找到,就创建点组
		if (ae == null || !ae.hasMoreElements()) {
			System.out.println("没有找到,要新建一个点组");
			CreatePeerGroup createpg = new CreatePeerGroup();
			try {
				chatpg1 = createpg.createPeerGroup(netPeerGroup);
				JoinGroup joingp = new JoinGroup();
				joingp.joinGroup(chatpg1);
				
			} catch (Exception e) {
				return null;
			}
		} else {
		//如果找到,就加入
			System.out.println("找到点组,加入");
			try {
				chatpgAdv = (PeerGroupAdvertisement) ae.nextElement();
				chatpg1 = netPeerGroup.newGroup(chatpgAdv);
				JoinGroup joingp = new JoinGroup();
				joingp.joinGroup(chatpg1);
			} catch (Exception e) {
				System.out.println("加入已经创建的点组出现错误");
				throw e;
			}
		}
		return chatpg1;
	}
}

⌨️ 快捷键说明

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