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

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

?? xfile.java

?? 該代碼是《JXTA-java P2P網絡編程技術》一書的源代碼
?? JAVA
字號:
/**《JXTA網絡編程》例程
*"第五章  JXTA深入編程" 即時消息軟件XChat  
*
@作者 慈黎利
@單位 清華大學計算機系軟件所知識工程組
@版本 1.0
@聯系方式 cili@163.com
@描述 P2PSockst 負責在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("002");
		pps.setInListener(this);
		pps.bind();
		pps.setOutListener(pps);
		pps.connect("001");
	}     
	/**
	* 實現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(xf.file2Stream("Upload.txt"),xf.pps.getInputPipeName(),
			xf.pps.getOutputPipeName(),BaseMessage.FILE_UPLOAD,
			"Upload.txt"));
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品国产欧美| 国产成人综合自拍| 国产网红主播福利一区二区| 在线视频你懂得一区| 日本中文字幕一区| 亚洲精品国产精华液| 国产日韩精品久久久| 欧美日本韩国一区| 91在线观看地址| 国产在线国偷精品产拍免费yy| 亚洲成国产人片在线观看| 欧美极品xxx| 久久人人超碰精品| 91精品国产色综合久久不卡蜜臀| 99久久精品国产观看| 国产在线视频精品一区| 青娱乐精品视频| 亚洲夂夂婷婷色拍ww47| 中文字幕中文乱码欧美一区二区| 精品少妇一区二区三区视频免付费| 在线观看不卡一区| 91视频在线观看| 成人午夜精品在线| 国产一区二区三区香蕉| 日韩激情av在线| 午夜亚洲福利老司机| 亚洲精品国产a| 亚洲精品高清在线观看| 国产精品久久久99| 欧美国产日本韩| 国产欧美日韩三区| 久久九九久精品国产免费直播| 欧美一区二区视频网站| 欧美日韩国产a| 国产精品久久久久aaaa| 久久久久久久综合色一本| 日韩一卡二卡三卡国产欧美| 欧美日韩国产一区| 欧美日韩国产高清一区二区三区| 日本韩国欧美一区| 色婷婷久久久综合中文字幕| av在线播放成人| 成人黄色免费短视频| 成人在线视频首页| voyeur盗摄精品| 99久久综合国产精品| caoporm超碰国产精品| 99久久精品国产一区二区三区| 99久久伊人网影院| 色偷偷久久一区二区三区| 色拍拍在线精品视频8848| 色老头久久综合| 欧美三级资源在线| 在线不卡免费av| 精品美女一区二区| 久久久国产精品午夜一区ai换脸| 日本一区二区久久| 亚洲人123区| 亚洲国产一区二区三区青草影视| 亚洲高清免费观看高清完整版在线观看| 一区二区高清视频在线观看| 亚洲一区欧美一区| 日本 国产 欧美色综合| 激情av综合网| 91丝袜美腿高跟国产极品老师 | 久久精品噜噜噜成人88aⅴ | 一本久久综合亚洲鲁鲁五月天| www.亚洲国产| 欧美天堂亚洲电影院在线播放| 91精品午夜视频| 久久久久久久久久美女| 国产精品久久久久一区| 亚洲影视在线播放| 捆绑调教一区二区三区| 成人国产精品免费观看视频| 在线观看av一区| 精品国产乱码久久久久久久久| 中文字幕av在线一区二区三区| 伊人色综合久久天天| 精品在线免费观看| 99久久精品国产导航| 欧美一级国产精品| 国产精品美日韩| 全国精品久久少妇| 91麻豆文化传媒在线观看| 欧美一区二区三区四区高清| 久久精品日韩一区二区三区| 亚洲区小说区图片区qvod| 久久精品国产在热久久| 99精品视频在线播放观看| 欧美一区二区免费视频| 中文字幕一区免费在线观看| 蜜臀av一区二区在线免费观看| 97精品久久久久中文字幕| 欧美不卡在线视频| 亚洲综合清纯丝袜自拍| 高清av一区二区| 91精品国产综合久久久蜜臀图片| 亚洲欧洲99久久| 精品亚洲aⅴ乱码一区二区三区| 91视频免费观看| 国产午夜精品一区二区三区四区| 亚洲成人激情自拍| 97久久超碰国产精品电影| 精品福利一二区| 午夜久久电影网| 91视频一区二区三区| 国产日韩亚洲欧美综合| 久久精品国产99| 欧美日韩在线直播| 中文字幕字幕中文在线中不卡视频| 美女网站色91| 91高清视频免费看| 国产精品国模大尺度视频| 精品一区二区三区欧美| 制服丝袜激情欧洲亚洲| 一区二区三区在线视频观看58| 国产精品亚洲成人| 26uuu色噜噜精品一区二区| 午夜精品一区二区三区电影天堂 | 久久国产精品99精品国产| 欧美日韩成人一区| 亚洲国产精品久久不卡毛片| 99久久综合精品| 国产精品毛片久久久久久| 国产乱淫av一区二区三区| 欧美一级艳片视频免费观看| 亚洲成a人v欧美综合天堂下载| 色香色香欲天天天影视综合网| 国产精品三级在线观看| 成人亚洲一区二区一| 久久精品一区二区三区不卡| 国产在线视视频有精品| 久久影院午夜论| 国产自产v一区二区三区c| 精品美女在线播放| 国产一区二区网址| 国产色综合久久| 成人一二三区视频| 国产精品美女久久久久久久| 成人va在线观看| 亚洲欧美中日韩| 91美女视频网站| 伊人色综合久久天天| 欧美亚洲综合一区| 午夜电影一区二区三区| 91麻豆精品久久久久蜜臀| 免播放器亚洲一区| 亚洲精品一区二区在线观看| 国产一区二区精品久久91| 久久久久久黄色| 成人禁用看黄a在线| 成人免费在线播放视频| 日本电影亚洲天堂一区| 亚洲韩国精品一区| 日韩一区二区在线免费观看| 久久av资源网| 国产精品久久久久久久久久久免费看 | 午夜久久久久久电影| 日韩一级在线观看| 国产精品1024| 日韩毛片一二三区| 欧美日韩国产成人在线免费| 看片网站欧美日韩| 国产精品久久久久影院色老大| 色女孩综合影院| 日产欧产美韩系列久久99| 精品国产乱码久久久久久牛牛 | 欧美性受xxxx黑人xyx性爽| 亚洲va欧美va人人爽午夜 | 亚洲美女少妇撒尿| 91麻豆精品91久久久久同性| 国内精品国产成人国产三级粉色 | 中文字幕永久在线不卡| 欧美日韩电影一区| 国产成人在线视频网站| 亚洲靠逼com| 亚洲精品一线二线三线 | 久久综合狠狠综合久久激情| av资源网一区| 日本麻豆一区二区三区视频| 国产欧美1区2区3区| 欧美三级三级三级爽爽爽| 韩国成人精品a∨在线观看| 自拍偷拍国产亚洲| 精品国产91乱码一区二区三区| 91在线播放网址| 久久精品噜噜噜成人av农村| 亚洲日穴在线视频| 久久午夜色播影院免费高清| 欧美性感一类影片在线播放| 国产在线麻豆精品观看| 亚洲一区在线观看视频| 久久精品欧美日韩精品| 欧美日韩国产综合视频在线观看 | 91麻豆国产自产在线观看| 欧美96一区二区免费视频| 亚洲天堂网中文字| 久久综合网色—综合色88| 欧美日韩一区二区三区四区 |