📄 basemessage.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 + -