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

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

?? xfile.java

?? 該代碼是《JXTA-java P2P網絡編程技術》一書的源代碼
?? JAVA
字號:
/**《JXTA網絡編程》例程
*"第五章  JXTA深入編程" 即時消息軟件XFile  
*
@作者 慈黎利
@單位 清華大學計算機系軟件所知識工程組
@版本 1.0
@聯系方式 cili@163.com
@描述 利用P2PSocket 在Peer 之間傳輸文件
Copyright 2002
*/

import java.io.*;
import java.net.*;
import net.jxta.pipe.*; 
import net.jxta.impl.endpoint.*;
import demo.p2psocket.*;

//源程序 XFile.java

public class XFile implements PipeMsgListener {
	P2PSocket pps=new P2PSocket(); 
	BaseMessage bm=new BaseMessage();
	
	public XFile() {
		pps.setInputPipeName("001");
		pps.setInListener(this);
		pps.bind();
		pps.setOutListener(pps);
		pps.connect("002");
	}     
	/**
	* 實現InputPipe 的監聽器
	* @param event 獲得消息事件
	*/
	public void pipeMsgEvent ( PipeMsgEvent event ){
		String temp=null;
		MessageImpl mi=(MessageImpl) event.getMessage();
		
		temp=mi.getString(BaseMessage.FILE_MESSAGE_TYPE);
		if (temp.equals(BaseMessage.FILE_LIST_REQUEST))  
			{ doFileListRequest(mi); return;}
		if (temp.equals(BaseMessage.FILE_DOWNLOAD_REQUEST))
			{ doFileDownloadRequest(mi); return;}
		if (temp.equals(BaseMessage.FILE_DOWNLOAD))
			{ doFileDownload(mi); return;}
		if (temp.equals(BaseMessage.FILE_LIST))
			{ doFileList(mi); return;}
    	if (temp.equals(BaseMessage.FILE_UPLOAD))
    		{ doFileUpload(mi); return;}
		
	}
	
	/**
	* 處理對共享文件列表的請求,向對方發送包含共享文件名的列表的消息
	* @param mi 獲得的Message
	*/
	public void doFileListRequest(MessageImpl mi) {
		System.out.println("捕獲一個本地共享文件列表的請求!");
		pps.send(bm.newFileMessage(this.listFile(),pps.getOutputPipeName(),
				pps.getInputPipeName(),bm.FILE_LIST,"Temp"));		
	}
	
	/**
	* 處理獲得的文件列表消息
	* @param mi 獲得的Message
	*/
	public void doFileList(MessageImpl mi) {
		System.out.println("捕獲一個共享文件的列表!");
		MessageElementImpl mei=(MessageElementImpl)mi.getElement(BaseMessage.FILE_LIST);
		this.displayFile(mei.getStream());		
	}
	
	/**
	* 處理對某個共享文件的下載的求情,向對方發送含有指定共享文件流的消息
	* @param mi 獲得的Message
	*/
	public void doFileDownloadRequest(MessageImpl mi) {
		System.out.println("捕獲一個下載本地共享文件的請求!");
		String file_name=mi.getString(bm.FILE_NAME);
		pps.send(bm.newFileMessage(file2Stream(file_name),pps.getOutputPipeName(),
				pps.getInputPipeName(),bm.FILE_DOWNLOAD,file_name));
	}
	
	/**
	* 處理獲得的共享文件消息
	* @param mi 獲得的Message
	*/
	public void doFileDownload(MessageImpl mi) {
		System.out.println("捕獲一個需要下載的共享文件!");
		MessageElementImpl mei=(MessageElementImpl)mi.getElement(BaseMessage.FILE_DOWNLOAD);
		String file_name=mi.getString(bm.FILE_NAME);
		save2File(mei.getStream(),file_name);		
	}
	
	/**
	* 處理上傳的共享文件消息
	* @param mi 獲得的Message
	*/
	public void doFileUpload(MessageImpl mi) {
		System.out.println("捕獲一個上傳的共享文件!");
		MessageElementImpl mei=(MessageElementImpl)mi.getElement(BaseMessage.FILE_UPLOAD);
		String file_name=mi.getString(bm.FILE_NAME);
		save2File(mei.getStream(),file_name);	
	}
	
	/**
	* 把流中的信息寫道文件中
	* @param is  數據源流
	* @param fname  將要寫入的文件
	*/
	public void save2File(InputStream is,String fname) {
		int length;
		byte buf[]=new byte[1024];
		try {
			FileOutputStream fos=new FileOutputStream("share/"+fname);
			BufferedOutputStream bos=new BufferedOutputStream(fos);
			BufferedInputStream bis=new BufferedInputStream(is);
			while ((length=bis.read(buf,0,1024))!=-1) {
				bos.write(buf,0,length);
				bos.flush();
			}
			bis.close();
			bos.close();
			fos.close();			
		}catch (IOException ioe) {
			System.out.println("寫入文件錯誤:"+ioe);		
		}			
	}
	
	/**
	* 把文件讀取到流中
	* @param file  將要讀入的文件
	* @return 返回包含文件信息的流
	*/
	public InputStream file2Stream(String file) {
		try {
			FileInputStream fis=new FileInputStream("share/"+file);
			return fis;
		}catch (FileNotFoundException fnfe) {
			System.out.println("無法讀取本地文件");
			System.exit(-1);
		}
		return null;
	}
	
	/**
	*  將指定目錄下的文件名讀入流中
	* @return 返回包含文件名列表的流
	*/
	public InputStream listFile() {
		try {
			String userpath=System.getProperty("user.dir");
			URL url=new URL("file:///"+userpath+"/share");
			return url.openStream();
		}catch (MalformedURLException murle) {
			System.err.println("獲取共享文件名出錯");
			System.exit(-1);
		
		}catch (IOException ioe) {
			System.err.println("獲取共享文件名發生I/O錯誤");
			System.exit(-1);
		} 
		return null;
	}
	
	/**
	* 將流中的內容顯示出來
	* @param is  將要顯示的流
	*/
	public void displayFile(InputStream is) {
		try {
			BufferedReader br=new BufferedReader(new InputStreamReader(is));
			String s=br.readLine();
			while (s!=null) {
				toScreen(s);
				s=br.readLine();
			}
		}catch (IOException ioe) {
			System.err.println("顯示文件發生I/O錯誤");
			System.exit(-1);
		} 	
	}
	
	/**
	* 顯示字符串
	* @param s 被顯示的字符串
	*/
	public void toScreen (String s) {
		System.out.println(s);
	}
	
	public static void main(String args[]) {
		XFile xf=new XFile();
		xf.pps.send(xf.bm.newFileMessage(null,null,
			null,BaseMessage.FILE_LIST_REQUEST,"Temp"));
		xf.pps.send(xf.bm.newFileMessage(null,null,null,BaseMessage.FILE_DOWNLOAD_REQUEST,
			"Download.txt"));
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆国产福利精品| 色哟哟国产精品免费观看| 亚洲国产wwwccc36天堂| 亚洲美女视频在线观看| 伊人一区二区三区| 亚洲成人高清在线| 亚洲高清免费观看高清完整版在线观看| 亚洲靠逼com| 亚洲韩国精品一区| 美女mm1313爽爽久久久蜜臀| 免费观看日韩电影| 狠狠色丁香婷婷综合久久片| 国产成人精品影视| 99国产精品久久久久| 欧美专区在线观看一区| 8x8x8国产精品| 日韩一区二区三区在线观看| 精品国产99国产精品| 国产欧美日韩在线视频| 日韩美女视频一区| 日韩精品三区四区| 国产成人鲁色资源国产91色综| 暴力调教一区二区三区| 色婷婷激情综合| 欧美成人精品二区三区99精品| 久久久久亚洲综合| 一区二区在线观看免费| 美女精品一区二区| 91免费小视频| 日韩午夜小视频| 国产精品毛片高清在线完整版| 一区二区三区小说| 蜜桃视频一区二区| 91官网在线免费观看| 日韩午夜激情免费电影| 亚洲三级免费观看| 国产精品一区二区男女羞羞无遮挡| 国产麻豆日韩欧美久久| 欧美视频精品在线| 欧美国产视频在线| 蜜臀久久99精品久久久画质超高清 | 成人h动漫精品一区二| 欧美日韩视频在线第一区 | 成人免费一区二区三区在线观看| 亚洲制服丝袜av| 国产69精品久久777的优势| 这里只有精品免费| 1000精品久久久久久久久| 麻豆91在线播放| 色一情一乱一乱一91av| 久久精子c满五个校花| 肉色丝袜一区二区| 欧洲另类一二三四区| 国产精品久久国产精麻豆99网站| 日韩av一区二区三区| 色av成人天堂桃色av| 国产精品另类一区| 国产一区二区三区四区在线观看| 欧美日韩一区小说| 一级做a爱片久久| www.av精品| 国产欧美在线观看一区| 老司机午夜精品| 在线91免费看| 亚洲bt欧美bt精品| 在线观看日韩精品| 亚洲高清免费观看高清完整版在线观看| www.爱久久.com| 国产精品久久久久国产精品日日| 国产电影一区在线| 国产亚洲精品免费| 国产成人免费高清| 日本一区二区三区国色天香 | 一区二区三区视频在线观看| 成人av电影在线播放| 26uuu国产一区二区三区| 蜜臀av一区二区在线观看| 91精品国产色综合久久不卡蜜臀 | 成人欧美一区二区三区1314| av中文字幕不卡| 亚洲视频一区二区在线| 99v久久综合狠狠综合久久| 亚洲欧美影音先锋| 91免费精品国自产拍在线不卡| 中文字幕一区二区5566日韩| 波多野结衣在线一区| 亚洲精品中文在线| 91国偷自产一区二区开放时间| 亚洲国产毛片aaaaa无费看| 欧美日韩二区三区| 久久精品国产免费| 亚洲国产成人午夜在线一区| 91丨porny丨国产| 亚洲一区二区三区四区五区中文| 欧美日韩国产123区| 久久国内精品自在自线400部| 日韩女优电影在线观看| 国产高清成人在线| 一区二区三区蜜桃| 欧美mv日韩mv| 91麻豆免费在线观看| 日韩在线一区二区| 欧美激情一区二区三区四区| 91国偷自产一区二区三区成为亚洲经典| 日韩精品一级二级| 国产欧美日韩视频一区二区| 色婷婷狠狠综合| 精品一区二区三区不卡 | 91丝袜高跟美女视频| 全部av―极品视觉盛宴亚洲| 国产三级精品三级| 欧美日韩国产电影| 成人福利电影精品一区二区在线观看 | 国产激情一区二区三区四区| 亚洲人成影院在线观看| 精品国产一区久久| 欧美日韩一二三区| 粉嫩蜜臀av国产精品网站| 亚洲6080在线| 亚洲视频在线一区观看| 欧美精品一区二区三区蜜桃视频 | 天堂va蜜桃一区二区三区漫画版| 久久久噜噜噜久噜久久综合| 欧美日韩国产片| 成人一二三区视频| 狠狠色狠狠色综合| 日韩 欧美一区二区三区| 亚洲男人的天堂一区二区| 国产欧美日韩视频一区二区| 精品人伦一区二区色婷婷| 欧美年轻男男videosbes| 91同城在线观看| 成人一区二区三区在线观看| 精品一区二区在线播放| 天天影视网天天综合色在线播放 | 欧美精品久久久久久久多人混战 | 亚洲综合色自拍一区| 国产精品久久久久影院| 欧美v日韩v国产v| 日韩精品一区二区三区在线| 欧美人妖巨大在线| 欧美日韩国产小视频在线观看| 91免费在线视频观看| 99久久精品情趣| www.爱久久.com| 成人av影视在线观看| 国产成a人亚洲精| 国产麻豆成人精品| 国产999精品久久久久久| 国产麻豆成人传媒免费观看| 久久精品国产99| 国产麻豆午夜三级精品| 国产一区二区三区久久久| 国内外精品视频| 久久99精品久久久久婷婷| 日韩专区欧美专区| 日韩国产在线一| 免费高清在线一区| 极品销魂美女一区二区三区| 九色|91porny| 国产精品18久久久久久久久 | 亚洲乱码中文字幕综合| 亚洲视频一二区| 亚洲一本大道在线| 美女爽到高潮91| 成人精品在线视频观看| 色综合婷婷久久| 欧美高清视频一二三区| 欧美一区二区三区免费大片 | 激情五月激情综合网| 国产精品一区二区久久不卡 | 亚洲精品一区二区精华| 国产拍揄自揄精品视频麻豆| 成人免费在线播放视频| 亚洲国产视频一区二区| 久久精品国产一区二区三| 成人一区二区三区视频在线观看| 色婷婷综合五月| 欧美一区二区三区白人| 2023国产精品自拍| 最新成人av在线| 另类小说图片综合网| 成人性生交大片免费看视频在线 | 免费成人在线影院| 成人一道本在线| 欧美色国产精品| 日本一区二区成人| 日韩成人一区二区| 99视频一区二区三区| 91精品国产综合久久精品麻豆 | 免费在线观看一区二区三区| 国产精品综合视频| 在线观看免费亚洲| 国产欧美综合色| 日本亚洲三级在线| 97久久久精品综合88久久| 日韩午夜精品电影| 亚洲女同ⅹxx女同tv| 国产九色sp调教91| 欧美一区二区视频在线观看 |