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

📄 basemessage.java

📁 JXTA教程源码例子,比较经典,值得好好研究啊!
💻 JAVA
字号:
/**《JXTA网络编程》例程
*"第五章  JXTA深入编程"  
*
@作者 慈黎利
@单位 清华大学计算机系软件所知识工程组
@版本 1.0
@联系方式 cili@163.com
@描述 P2PSockst 负责在Peer 之间建立通讯连接
Copyright 2002
*/
package demo.p2psocket;
import java.io.*;
import java.net.*;

import net.jxta.endpoint.*;
import net.jxta.document.*;
import net.jxta.protocol.*;
import net.jxta.impl.endpoint.*;

// 源程序 BseMessage.java

public class BaseMessage {
	public final static String CHAT="Chat";    // 消息的类型
	public final static String OP="OP";  		// 输出管道的名字
	public final static String IP="IP";  		// 输入管道的名字
	public final static String FILE_MESSAGE_TYPE="FILE_MESSAGE_TYPE";   //文件消息的类型
	public final static String FILE_LIST_REQUEST="FILE_LIST_REQUEST"; //共享文件名列表的请求
	public final static String FILE_LIST="FILE_LIST";		 //共享文件名列表
	public final static String FILE_DOWNLOAD_REQUEST="FILE_DOWNLOAD_REQUEST"; //文件下载的请求
	public final static String FILE_DOWNLOAD="FILE_DOWNLOAD"; //下载的文件
	public final static String FILE_UPLOAD="FILE_UPLOAD";     //上传文件
	public final static String FILE_NAME="FILE_NAME";         //文件名
	public final static String WEB_MESSAGE_TYPE="WEB_MESSAGE_TYPE";   //网站消息的类型
	public final static String WEB_REQUEST="WEB_REQUEST";      //请求连接Web网站的消息
	public final static String WEB_REQUEST_FIRST="WEB_REQUEST_FIRST";  //第一次请求连接Web网站的消息
	public final static String WEB_CONTENT="WEB_CONTENT";      //请求浏览界面
	public final static String WEB_URL="WEB_URL";               //请求浏览的页面的地址
	/**
	* 产生聊天消息
	* @param message 消息的内容
	* @param outputPipe 输出消息的管道的名字
	* @param inputPipe 接受消息的输入管道的名字
	* @return  根据参数生成的消息实例
	*/
	public Message newChatMessage(String message,String outputPipe,String inputPipe) {
		MessageImpl msg=new MessageImpl();
		msg.setString(this.CHAT,message);
		msg.setString(this.OP,outputPipe);
		msg.setString(this.IP,inputPipe);
		return msg;
	}
	
	public Message newFileMessage(InputStream is,String outputPipe,String inputPipe,
			String fileType,String fileName) {
		MessageImpl msg=new MessageImpl();
		try {
			if (is!=null) {	
				MimeMediaType mmt=new MimeMediaType("text/xml");  //文件的类型
				MessageElementImpl mei=new MessageElementImpl(fileType,mmt,is);
				msg.addElement(mei);
			}
			if(outputPipe!=null) msg.setString(this.OP,outputPipe);
			if(inputPipe!=null) msg.setString(this.IP,inputPipe);
			if (fileName!=null) msg.setString(this.FILE_NAME,fileName);
			msg.setString(this.FILE_MESSAGE_TYPE,fileType);
		}catch (IOException ioe) {
			System.err.println("产生文件消息时出现I/O错误!");
			System.exit(-1);
		}
		return msg;
	}
	
	public Message newWEBMessage(InputStream is,String outputPipe,String inputPipe,
			String WEBType,String url) {
		MessageImpl msg=new MessageImpl();
		try {
			if (is!=null) {	
				MimeMediaType mmt=new MimeMediaType("text/xml");  //文件的类型
				MessageElementImpl mei=new MessageElementImpl(WEBType,mmt,is);
				msg.addElement(mei);
			}
			if(outputPipe!=null) msg.setString(this.OP,outputPipe);
			if(inputPipe!=null) msg.setString(this.IP,inputPipe);
			if (url!=null) msg.setString(this.WEB_URL,url);
			msg.setString(this.WEB_MESSAGE_TYPE,WEBType);
		}catch (IOException ioe) {
			System.err.println("产生文件消息时出现I/O错误!");
			System.exit(-1);
		}
		return msg;
	}
}

⌨️ 快捷键说明

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