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

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

?? p2psocket.java

?? 利用Socket開發包開以簡單的聊天程序
?? JAVA
字號:

package demo.p2psocket;
import java.net.*;
import java.io.*;

import net.jxta.pipe.*;
import net.jxta.protocol.*;
import net.jxta.peergroup.*;
import net.jxta.document.*;
import net.jxta.discovery.*;
import net.jxta.exception.*;
import net.jxta.endpoint.*;
import net.jxta.impl.endpoint.*;

// 源程序 P2PSocket.java

public class P2PSocket extends Thread implements OutputListener,PipeMsgListener{
	private String inputPipeName=null;   			//輸入管道的名稱
	private String outputPipeName=null;  			//輸出管道的名稱
	private PipeAdvertisement inputPipeAdv=null;    //輸入管道廣告
	private PipeAdvertisement outputPipeAdv=null;   //輸出管道廣告
	private InputPipe ip=null;                      //輸入管道
	private OutputPipe op=null;                     //輸出管道 
	private PipeMsgListener pml=null;				//輸入管道的監聽器
	private OutputListener opl=null;                //輸出管道的監聽器
	private PeerGroup pg=null;						//所屬的組
	private PipeService ps=null;					//管道服務
	private DiscoveryService disc=null;  			//發現服務
	
	public P2PSocket() {
			if (pg==null) this.newPeerGroup();
			ps = pg.getPipeService();
			disc=pg.getDiscoveryService();
	}
	
	
	public P2PSocket(String inputPipeName, String outputPipeName) {
		if (pg==null) this.newPeerGroup();
		ps = pg.getPipeService();
		disc=pg.getDiscoveryService();
		this.setInputPipeName(inputPipeName);
		this.setOutputPipeName(outputPipeName);
	}
	
	
	public boolean bind() {
		for (int i=0;i<5;i++) {
			try {
				this.start();
				if (pml!=null) ip = ps.createInputPipe(inputPipeAdv, pml);
				else ip=ps.createInputPipe(inputPipeAdv,this);
			}catch (Exception e) {
				System.out.println("Error creating input pipe.");			
			}
			if (ip != null) {
				return true;
			}
		}
		return false;
	}
	
	
	public void run() {
		try {
			disc.remotePublish(inputPipeAdv,DiscoveryService.ADV,10*60*1000);
			disc.publish(inputPipeAdv,DiscoveryService.ADV,10*60*1000,10*60*1000);	
			this.sleep(10*60*1000);
		}catch (InterruptedException ie) {
			System.out.println("出錯 "+ie);
			System.exit(-1);
		}catch(IOException ioe) {
			System.out.println("出錯! "+ioe);
			System.exit(-1);
		}
	}
	
	
	public boolean connect() { 
		for (int i=0;i<10;i++) {
			try {
				System.out.println("Create Outpipe");					
				if (opl!=null)	ps.createOutputPipe(outputPipeAdv, opl);
				else ps.createOutputPipe(outputPipeAdv,this);
			}catch (IOException e) {
				System.out.println("Error: OutputPipe creation failure");
				e.printStackTrace();
			}
			if (opl!=null && opl.getOutputPipe()!=null) break;
			try {
				Thread.sleep(5*1000);
			}catch (InterruptedException ie) {
				System.out.println("出錯 "+ie);
				System.exit(-1);
			}
		}
		if (opl!=null && opl.getOutputPipe()!=null) {
			this.op=opl.getOutputPipe();
			return true;
		}else {
			System.out.println("通訊連接失敗!");
			System.exit(-1);
		}
		return false;
	}
	
	
	public boolean connect(String outputPipeName) {
		this.setOutputPipeName(outputPipeName);
		if (this.connect()) return true;
		else return false;
	}
	
	
	public void outputPipeEvent(OutputPipeEvent event) {
			op = event.getOutputPipe();	
	}
	
	 
	public boolean send(Message mess) {
	if (opl!=null) op=opl.getOutputPipe();
	while (op==null) 
	try {
		Thread.sleep(5*1000);
	}catch (InterruptedException ie) {
		System.out.println("出錯 "+ie);
		System.exit(-1);
	} 
		try {
			op.send(mess);
			return true;		
		}catch (IOException ioe) {
			System.out.println("發送消息失敗!");
			return false;
		}
	}
	
	
	public void pipeMsgEvent ( PipeMsgEvent event ){
		
	}
	
	public void setOutListener(OutputListener opl) {
		this.opl=opl;
	}
	
	
	public void setInListener(PipeMsgListener pml) {
		this.pml=pml;
	}
	
	
	public void setPeerGroup(PeerGroup pg) {
		this.pg=pg;
		this.ps=pg.getPipeService();
		this.disc=pg.getDiscoveryService();
	}
	
	public void setInputPipeName(String inputPipeName) {
		this.inputPipeName=inputPipeName;
		inputPipeAdv=createPipeAdvFromFile("adv/"+inputPipeName+".xml");
	}
	
	
	public void setOutputPipeName(String outputPipeName) {
		this.outputPipeName=outputPipeName;
		outputPipeAdv=createPipeAdvFromFile("adv/"+outputPipeName+".xml");
	}
	
	public InputPipe getInputPipe() {
		return this.ip;
	}
	
	public String getInputPipeName() {
		return this.inputPipeName;
	}
	
    public OutputPipe getOutputPipe() {
    	return this.op;
    }
	
	public String getOutputPipeName() {
		return this.outputPipeName;
	}
	
	
	private void newPeerGroup(){
		try {
			pg = PeerGroupFactory.newNetPeerGroup();            
		} 
		catch (PeerGroupException e) {
			System.out.println("fatal error : group creation failure");
			e.printStackTrace();
			System.exit(-1);
		}	
	}
	
	
	private PipeAdvertisement createPipeAdvFromFile(String filename) {
    	PipeAdvertisement pipeAdv=null;
    	try {
    		FileInputStream is=new FileInputStream(filename);
    		pipeAdv=(PipeAdvertisement) 
    				AdvertisementFactory.newAdvertisement(
    					new MimeMediaType("text/xml"),is);
    		is.close();
    	}catch(Exception e) {
    		System.err.println("Error to create pipeAdvertisement from file");
    		e.printStackTrace();
    		System.exit(1);
    	}
    	return pipeAdv;    		
    }
    
    
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区三区四区| 国产传媒久久文化传媒| 久久久美女毛片 | 久久综合国产精品| 欧美日韩一卡二卡三卡| 国产一本一道久久香蕉| 国内成人精品2018免费看| 久久91精品国产91久久小草| 美国十次了思思久久精品导航| 日韩不卡免费视频| 韩国欧美国产1区| 国产一区二区伦理| 国产99久久久精品| 91免费国产在线| 欧美专区日韩专区| 国产精品入口麻豆原神| 国产精品视频一二| 亚洲欧美国产77777| 亚洲国产日产av| 美女在线视频一区| 国产aⅴ综合色| 欧美色区777第一页| 精品毛片乱码1区2区3区| 国产精品你懂的在线| 一区二区三区欧美在线观看| 久久精品国产一区二区三区免费看| 国产精品一区在线| 91色乱码一区二区三区| 日韩一区二区三区电影在线观看 | 国产欧美一区二区在线观看| 亚洲码国产岛国毛片在线| 婷婷一区二区三区| 国产盗摄精品一区二区三区在线| 91成人在线免费观看| 亚洲精品一线二线三线无人区| 国产精品福利在线播放| 天堂蜜桃一区二区三区| 丁香六月综合激情| 制服丝袜成人动漫| 日韩伦理av电影| 久久国产综合精品| 欧美日韩中文另类| 亚洲欧洲av在线| 久久成人av少妇免费| 欧美在线观看一区二区| 国产欧美综合在线观看第十页| 视频一区二区三区入口| 色综合中文字幕| 国产欧美精品区一区二区三区| 亚洲妇熟xx妇色黄| 色综合天天综合在线视频| 久久众筹精品私拍模特| 亚洲成人精品一区二区| av成人老司机| 国产精品日韩成人| 国产69精品久久99不卡| 精品理论电影在线观看 | 韩国精品主播一区二区在线观看 | 欧美mv日韩mv亚洲| 午夜精品成人在线视频| 91国模大尺度私拍在线视频| 国产精品视频一二| 丰满放荡岳乱妇91ww| 久久久午夜精品理论片中文字幕| 久久精品国产99久久6| 3d动漫精品啪啪一区二区竹菊| 亚洲成人自拍网| 欧美色图12p| 免费在线成人网| 91精品国产乱码| 性欧美疯狂xxxxbbbb| 色www精品视频在线观看| 亚洲欧洲日产国产综合网| 不卡电影免费在线播放一区| 国产精品乱子久久久久| 不卡的看片网站| 亚洲欧美偷拍三级| 91成人网在线| 亚洲成人tv网| 欧美一级高清片| 精品在线免费观看| 久久精品视频在线免费观看| 狠狠色综合色综合网络| 日本一区二区免费在线观看视频 | 欧美最新大片在线看| 亚洲二区在线视频| 欧美一级二级在线观看| 经典三级视频一区| 国产日韩av一区| 91亚洲国产成人精品一区二三| 亚洲天堂成人网| 欧美日韩成人综合| 激情五月激情综合网| 中文字幕一区av| 色屁屁一区二区| 日本亚洲电影天堂| 亚洲国产精品t66y| 在线观看一区不卡| 精品一区二区三区的国产在线播放| 精品福利在线导航| 99精品视频在线免费观看| 亚洲一区二区三区免费视频| 欧美成人精品福利| 91丨九色丨蝌蚪富婆spa| 日韩电影在线免费| 国产精品久久久久久久久免费桃花| 色天使久久综合网天天| 久久激情五月激情| 一区二区三区不卡视频| 精品久久免费看| 在线观看免费亚洲| 国产一区在线看| 亚洲男人的天堂av| 2020日本不卡一区二区视频| 色综合久久综合| 国产乱子伦视频一区二区三区| 亚洲第一狼人社区| 久久久久国色av免费看影院| 欧美在线综合视频| av一本久道久久综合久久鬼色| 日本欧洲一区二区| 亚洲精品综合在线| 国产欧美精品一区二区三区四区| 欧美麻豆精品久久久久久| caoporen国产精品视频| 国产原创一区二区| 美女在线一区二区| 偷窥国产亚洲免费视频| 国产精品久久看| 久久久久国产免费免费 | 国产视频一区在线播放| 国产精品国产自产拍高清av| 欧美一区二区国产| 欧美在线观看一二区| 色综合久久中文字幕| 成人爱爱电影网址| 国产精品一区二区三区四区| 日本网站在线观看一区二区三区| 亚洲男人天堂av| 综合久久一区二区三区| 国产精品天天摸av网| 久久久久久久免费视频了| 欧美一级生活片| 日韩午夜在线播放| 亚洲精品在线观看网站| 日韩午夜av电影| 欧美一区二区私人影院日本| 欧美久久一区二区| 欧美日韩国产一二三| 欧美精品一二三四| 91麻豆精品久久久久蜜臀| 欧美日韩成人综合天天影院 | 久久99久国产精品黄毛片色诱| 视频在线观看91| 日韩高清不卡一区二区三区| 日韩成人一区二区三区在线观看| 亚洲成av人片一区二区梦乃| 天天av天天翘天天综合网| 午夜成人免费视频| 奇米影视一区二区三区小说| 精品亚洲成av人在线观看| 国产成人自拍网| 亚洲女女做受ⅹxx高潮| 亚洲成人av在线电影| 亚洲国产精品成人久久综合一区| 成av人片一区二区| 色综合久久久久久久久| 欧美三级中文字| 欧美一区二区三区免费| 久久综合久久综合久久| 国产精品少妇自拍| 亚洲欧美精品午睡沙发| 日本少妇一区二区| 国产成人精品一区二| 在线观看一区二区精品视频| 欧美xxxxx牲另类人与| 国产色综合一区| 亚洲综合精品久久| 美女任你摸久久| 99久久免费视频.com| 欧美日韩精品免费观看视频 | 国产91精品欧美| 日本韩国精品在线| 日韩亚洲电影在线| 亚洲天堂中文字幕| 久久99精品国产麻豆不卡| 99久久免费精品高清特色大片| 7799精品视频| 自拍偷拍国产亚洲| 老司机精品视频线观看86| www.视频一区| 日韩欧美激情在线| 一区二区三区欧美| 国产成人精品aa毛片| 91美女片黄在线观看91美女| 日韩午夜激情电影| 亚洲午夜在线视频| 成人黄色777网| 精品国产91乱码一区二区三区| 亚洲综合色成人|