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

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

?? mychatgroup.java

?? 利用jxta編寫的聊天室,能在局域網內動態檢測參與人員,通過它,可以了解JXTA運行機制.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
		    pipePrivateAdv.setDescription(myGroup.getPeerName());
		    pipePrivateAdv.getDocument(new MimeMediaType("text/xml")).sendToStream(fos);
		    fos.flush();
		    fos.close();
		}
			
		discoverySvc.publish(pipePrivateAdv, PeerGroup.DEFAULT_LIFETIME, PeerGroup.DEFAULT_EXPIRATION);
		discoverySvc.remotePublish(pipePrivateAdv, DiscoveryService.ADV);
	    
	    InputPipe inPrivatePipe = pipeSvc.createInputPipe(pipePrivateAdv, privateMsgListener);
	    
		inPipe = pipeSvc.createInputPipe(pipeAdv, this);
        
        // System.out.println(myGroup.getPeerName());
        // 建立輸出通道
        refreshOnline();
	}
	
	// 私聊時發來的信息處理
	private void privateMessage(PipeMsgEvent pme){
		Message msg = pme.getMessage();
		/* 因為私聊時,信息里攜帶了對方的通告,所以可以這樣獲得。但暫時不這樣
		try{
		   StructuredDocument sd = StructuredDocumentFactory.newStructuredDocument(
			   new MimeMediaType("text/xml"), msg.getMessageElement("PipeAdv").getStream());
			   System.out.println(sd);
		}catch(IOException ioe){
			ioe.printStackTrace();
		}
		*/
		MessageElement userName = null;
		MessageElement sendContent = null;
		try{
		  	userName = msg.getMessageElement("UserName");
		  	if (userName == null)return;
		  	sendContent = msg.getMessageElement("SendContent");
		  	jtaPrivateContent.append("[[  " + userName + "  ]]\n" + sendContent + "\n");
		  	jtaPrivateContent.setSelectionStart(jtaHistoryContent.getText().length());
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	// 刷新列表
	private void refreshList(){ // 存在同步問題,多線程會執行此方法
	    Enumeration en = null;
	    try{
		    en = discoverySvc.getLocalAdvertisements(DiscoveryService.ADV, 
			                                                 "Name", 
			                                                 "MyChatGroup:PipePrivateAdv:"+name);
		}catch(IOException de){
			de.printStackTrace();
		}
		if(en==null || !en.hasMoreElements()) return ;
		Advertisement adv = null;
		PipeAdvertisement pa = null;
		PipeAdvertisement padv = null;
		Vector pipeInfo = null;
		
		int length = 0;

		while(en.hasMoreElements()){
			try{
			   adv = (Advertisement)en.nextElement();
			   if (!adv.getAdvType().equals(PipeAdvertisement.getAdvertisementType())){
				   continue;
			   }
               pa = (PipeAdvertisement)adv;
               
               
               if(pipePrivateId.contains(pa.getPipeID().toString())){ // 是否已經存在該ID
                  System.out.println("已存在");
                  continue;
               }
               
			   padv = (PipeAdvertisement)AdvertisementFactory.newAdvertisement(
			       PipeAdvertisement.getAdvertisementType());
		       padv.setPipeID(IDFactory.fromURL(
			                           pa.getPipeID().getURL()
			                          ) );
			   padv.setType(PipeService.UnicastType);
			   try{
		         outPipe = pipeSvc.createOutputPipe(padv, createPipeTimeOut);
		       }catch(Exception ope){
		       	 continue;
		       }
               
               if(pipePrivateId.contains(pa.getPipeID().toString())){ // 是否已經存在該ID
                  System.out.println("已存在");
                  continue;
               }else{
               	  pipePrivateId.add(pa.getPipeID().toString());
               }
               
			   pipeInfo = new Vector();
			   pipeInfo.add(pa.getDescription());
			   pipeInfo.add(pa.getPipeID().toString());
			   pipeInfo.add(outPipe);
			   pipesPrivate.add(pipeInfo);
			   list.add(pa.getDescription());
			}catch(Exception e){
				e.printStackTrace();
			}
		}
		((DefaultTableModel)jlTable.getModel()).fireTableDataChanged();
	}
	
	private void refreshOnline(){
		Runnable tGroup = new Runnable(){
			  public void run(){
			  	while(true){
			  	   discoveryGroup();
			  	   discoverySvc.getRemoteAdvertisements(null, DiscoveryService.ADV, 
			                                     "Name", "MyChatGroup:PipeAdv:"+name,
			                                     findPipeCount
			                                    );
			       try{Thread.currentThread().sleep(10 * 60 * 1000);}catch(Exception e){}
			    }
			  }
		};
		
		new Thread(tGroup).start();
		
		Runnable tList = new Runnable(){
			  public void run(){
			  	while(true){
			  		 refreshList();
		             discoverySvc.getRemoteAdvertisements(null, DiscoveryService.ADV, 
			                                     "Name", "MyChatGroup:PipePrivateAdv:"+name,
			                                     findPipeCount
			                                    );
			         try{Thread.currentThread().sleep(10 * 1000);}catch(Exception e){}
			    }
			  }
		};
		
		new Thread(tList).start();
	}
	
	private ModuleSpecAdvertisement doAdertisement(){
		ModuleClassAdvertisement mca = (ModuleClassAdvertisement)AdvertisementFactory.newAdvertisement(
			ModuleClassAdvertisement.getAdvertisementType());
		
		ModuleClassID mcid = IDFactory.newModuleClassID();
		mca.setModuleClassID(mcid);
		mca.setName("ccc");
		mca.setDescription("");
		try{
			discoverySvc.publish(mca);
			discoverySvc.remotePublish(mca, DiscoveryService.ADV);
		}catch(Exception e){
			e.printStackTrace();
		}
		
		ModuleSpecAdvertisement msa = (ModuleSpecAdvertisement)AdvertisementFactory.newAdvertisement(
			ModuleSpecAdvertisement.getAdvertisementType());
		msa.setModuleSpecID(IDFactory.newModuleSpecID(mcid));
		msa.setName("iiiiiiiiii");
		msa.setDescription("lllllllllll");

		
		return msa;
	}
	
	public void discoveryGroup(){
		Enumeration en = null;
		try{
			en = discoverySvc.getLocalAdvertisements(DiscoveryService.ADV, 
			                                         "Name", 
			                                         "MyChatGroup:PipeAdv:"+name);
		}catch(IOException ie){
			ie.printStackTrace();
		}
		if(en==null || !en.hasMoreElements()) return ;
		Advertisement adv = null;
		PipeAdvertisement pa = null;
		PipeAdvertisement padv = null;
		Vector pipeInfo = null;
		
		while(en.hasMoreElements()){
			try{
			   adv = (Advertisement)en.nextElement();
			   if (!adv.getAdvType().equals(PipeAdvertisement.getAdvertisementType())){
				   continue;
			   }
               pa = (PipeAdvertisement)adv;
               
               if(pipeId.contains(pa.getPipeID().toString())){
               	  continue;
               }else{
               	  pipeId.add(pa.getPipeID().toString());
               }
            
			   padv = (PipeAdvertisement)AdvertisementFactory.newAdvertisement(
			       PipeAdvertisement.getAdvertisementType());
		       padv.setPipeID(IDFactory.fromURL(
			                           pa.getPipeID().getURL()
			                          ) );
			   padv.setType(PipeService.PropagateType);
			   outPipe = pipeSvc.createOutputPipe(padv, createPipeTimeOut);
			   
			   pipeInfo = new Vector();
			   pipeInfo.add(pa.getName());
			   pipeInfo.add(pa.getPipeID().toString());
			   pipeInfo.add(outPipe);
			   pipes.add(pipeInfo);
			}catch(Exception e){
				e.printStackTrace();
			}
		}
	}
	
	public void pipeMsgEvent(PipeMsgEvent pme){
		MessageElement userName = null;
		MessageElement sendContent = null;
		try{
		  	Message msg = pme.getMessage();
		  	userName = msg.getMessageElement("UserName");
		  	if (userName == null)return;
		  	sendContent = msg.getMessageElement("SendContent");
		  	jtaHistoryContent.append("[[  " + userName + "  ]]\n" + sendContent + "\n");
		  	jtaHistoryContent.setSelectionStart(jtaHistoryContent.getText().length());
		  	
		}catch(Exception e){
		  	System.out.println(e.getMessage());
		  	e.printStackTrace();
		}
	}
	
	public void actionPerformed(ActionEvent ae){
		if(ae.getActionCommand().equals("發送")){
			if(jtfContent.getText().trim().equals("")) return;
			int count = sendToAll();
			if(count > 0) jtfContent.setText("");
			jtfContent.requestFocus(true);
		}else if(ae.getActionCommand().equals("刷新")){
			//pipesPrivate.clear();
		    //pipePrivateId.clear();
		    //list.clear();
			refreshList(); 
		}else if(ae.getActionCommand().equals("私聊")){
			int index = jlTable.getSelectedRow();
			if(index==-1) return;
			OutputPipe op = (OutputPipe)((Vector)pipesPrivate.get(index)).get(2);
			String to = list.get(index).toString();
			privateChat(op, to);
		}
		
	}
	
	private void privateChat(OutputPipe op, String to){
		String oneText = "";
		oneText = JOptionPane.showInputDialog("發送給 - "+to, "");
		if(oneText==null || oneText.equals(""))return;
		jtaPrivateContent.append("[[  " + "發送給-" + to + "  ]]\n" + oneText + "\n");
		jtaPrivateContent.setSelectionStart(jtaHistoryContent.getText().length());
		Message msg = new Message();
		StringMessageElement smeUsername = new StringMessageElement("UserName", myGroup.getPeerName(), null);
		StringMessageElement smeContent = new StringMessageElement("SendContent", oneText, null);
		TextDocumentMessageElement tdme = new TextDocumentMessageElement("PipeAdv", (TextDocument)pipePrivateAdv.getDocument(new MimeMediaType("text/xml")), null);
		msg.addMessageElement(smeUsername);
		msg.addMessageElement(smeContent);
		msg.addMessageElement(tdme);
		try{
		   op.send(msg);
		}catch(IOException ioe){
			ioe.printStackTrace();
		}
	}
	
	private int sendToAll(){
		Enumeration en = pipes.elements();
		Message msg = new Message();
		StringMessageElement smeUsername = new StringMessageElement("UserName", myGroup.getPeerName(), null);
		StringMessageElement smeContent = new StringMessageElement("SendContent", jtfContent.getText(), null);
		msg.addMessageElement(smeUsername);
		msg.addMessageElement(smeContent);
		while(en.hasMoreElements()){
			outPipe = (OutputPipe)((Vector)en.nextElement()).get(2);
			try{
			   outPipe.send(msg);
			}catch(Exception e){
			}
		}
		return pipes.size();
	}
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲愉拍自拍另类高清精品| 不卡av免费在线观看| 国产一区二区视频在线| 99久久精品情趣| 精品国产人成亚洲区| 亚洲免费观看高清| 国产精品自拍三区| 在线成人小视频| 亚洲丝袜制服诱惑| 国产精品123区| 欧美一区二区三区视频在线观看| 国产精品毛片久久久久久| 黑人巨大精品欧美一区| 欧美日韩激情一区| 亚洲精品国产成人久久av盗摄| 久热成人在线视频| 欧美日本在线视频| 日本美女一区二区三区| 在线一区二区三区四区五区| 国产精品嫩草久久久久| 国产成人亚洲综合a∨婷婷图片| 欧美日韩免费一区二区三区| 亚洲人成网站影音先锋播放| 99视频有精品| 中文字幕一区免费在线观看| 国产精品99久久久久久宅男| 日韩精品最新网址| 久久精品国产一区二区三| 在线成人小视频| 天堂一区二区在线| 欧美日韩国产影片| 亚洲高清不卡在线观看| 日本大香伊一区二区三区| 国产精品国产三级国产普通话99 | 夜夜爽夜夜爽精品视频| 99riav一区二区三区| 亚洲视频网在线直播| 91免费视频网| 亚洲午夜免费福利视频| 欧美日韩一区小说| 亚洲一区在线播放| 9191国产精品| 久久精品国产99| 久久综合九色综合欧美亚洲| 国产成人精品一区二区三区四区 | 中文字幕精品一区二区精品绿巨人 | 亚洲尤物在线视频观看| 欧美日韩精品福利| 蜜臀精品一区二区三区在线观看 | 欧美乱熟臀69xxxxxx| 日本午夜精品视频在线观看| 精品奇米国产一区二区三区| 精品一区二区三区在线播放视频| 日韩美女一区二区三区| 国产剧情在线观看一区二区| 成人欧美一区二区三区1314| 欧美三电影在线| 免费成人在线观看| 欧美高清在线一区| 欧美制服丝袜第一页| 日本成人在线看| 日韩国产精品91| 日韩国产精品大片| 日韩欧美亚洲一区二区| 精品久久99ma| 亚洲一区二区精品3399| 国产精品亚洲人在线观看| 91蝌蚪国产九色| 欧美v亚洲v综合ⅴ国产v| 26uuu国产在线精品一区二区| 久久久精品人体av艺术| 蜜臀久久久99精品久久久久久| 欧美一区二区在线播放| 精品一区二区三区影院在线午夜| 久久久精品国产99久久精品芒果| 一道本成人在线| 国产在线日韩欧美| 亚洲国产日韩一区二区| 久久久久久黄色| 欧美卡1卡2卡| 91在线你懂得| 国产精品18久久久久久久久久久久| 亚洲综合色区另类av| 国产欧美视频一区二区| 欧美视频在线不卡| 岛国精品在线播放| 久久99国产精品麻豆| 亚洲动漫第一页| 亚洲三级电影网站| 久久女同互慰一区二区三区| 欧美一区二区三区人| 欧洲一区在线电影| 处破女av一区二区| 久久超碰97中文字幕| 午夜精品成人在线| 亚洲久本草在线中文字幕| 国产欧美视频在线观看| 日韩欧美一级在线播放| 色系网站成人免费| 国产电影精品久久禁18| 成人欧美一区二区三区白人| 欧美精品一区二区三区一线天视频| 欧美美女一区二区| 91蜜桃在线观看| 99久久国产免费看| 国产在线精品视频| 国内精品国产成人| 日日摸夜夜添夜夜添国产精品| 亚洲成人自拍网| 亚洲欧美福利一区二区| 亚洲日本中文字幕区| 国产亚洲精品aa| 国产欧美久久久精品影院| 精品视频免费看| 欧美视频一二三区| 成人精品在线视频观看| 韩国v欧美v日本v亚洲v| 韩国成人精品a∨在线观看| 青青国产91久久久久久| 日本大胆欧美人术艺术动态| 一区二区在线观看视频| 亚洲国产日产av| 一区二区高清在线| 亚洲福利视频三区| 亚洲影院理伦片| 日韩成人免费在线| 一区二区成人在线视频| 亚洲综合激情网| 亚洲一区自拍偷拍| 美腿丝袜在线亚洲一区| 青青草国产成人av片免费| 蜜臀久久99精品久久久久宅男| 天天综合天天综合色| 日韩电影免费在线| 亚洲国产日日夜夜| 日精品一区二区三区| 免费日本视频一区| 美女视频黄久久| 久久激情综合网| 在线观看一区二区视频| 色www精品视频在线观看| 欧美日韩国产天堂| 日韩一区二区三区在线观看| 久久久亚洲精品石原莉奈| 6080午夜不卡| 日本一区二区免费在线| 亚洲精品福利视频网站| 亚洲国产精品视频| 精品一区二区三区在线观看国产| 国产一区二区精品在线观看| 色先锋aa成人| 制服丝袜亚洲播放| 亚洲国产精品t66y| 伊人夜夜躁av伊人久久| 蜜桃av一区二区| 午夜婷婷国产麻豆精品| 国产一区二区三区国产| 色综合色综合色综合色综合色综合| 在线影院国内精品| 国产午夜精品一区二区三区嫩草| 中文字幕一区二区三区色视频| 日本va欧美va瓶| 国产成人精品一区二| 777久久久精品| 国产女人水真多18毛片18精品视频| 亚洲一区二区三区四区在线免费观看| 亚洲综合色丁香婷婷六月图片| 久久国产福利国产秒拍| 在线看国产一区二区| 精品欧美一区二区久久| 亚洲国产精品麻豆| 精品亚洲欧美一区| 欧美日韩成人高清| 91精品久久久久久久久99蜜臂 | 日韩一区欧美一区| 狠狠久久亚洲欧美| 色狠狠综合天天综合综合| 国产网红主播福利一区二区| 亚洲激情网站免费观看| 久久国产三级精品| 色先锋aa成人| 亚洲欧美一区二区视频| 日本美女视频一区二区| 欧美午夜精品电影| 亚洲另类春色校园小说| 韩国三级电影一区二区| 日韩美女一区二区三区四区| 伊人色综合久久天天| 91网站黄www| 日韩欧美国产综合一区| 亚洲国产一区视频| 色老汉一区二区三区| 国产欧美一区二区在线| 岛国一区二区三区| 日韩欧美在线1卡| 免费不卡在线视频| 欧美一区二区三区喷汁尤物| 一区二区三区四区不卡在线 | 经典三级视频一区| 欧美日韩视频在线一区二区|