【Java开源代码栏目提醒】:网学会员--在 Java开源代码编辑为广大网友搜集整理了:XChatp.java绩等信息,祝愿广大网友取得需要的信息,参考学习。
import java.io.*;
import net.jxta.pipe.*;
import net.jxta.endpoint.*;
import net.jxta.impl.endpoint.*;
public class XChatp
implements PipeMsgListener
{
/**
* 实现接口PipeMsgListener,每当有消息传送到输入管道的时候,事件将被捕获---------------------------------(1)
*/
public void pipeMsgEvent(PipeMsgEvent event)
{
System.out.println("come a message!");
//MessageImpl mi = (MessageImpl)event.getMessage();
Message mi = (Message)event.getMessage();
String message = mi.getString(BaseMessage.CHAT);
if( this.closeConnect(message)) return;
String temp = mi.getString(BaseMessage.OP);
toScreen(temp + ":" + message);
}
/**
* 显示字符串---------------------------------(2)
*/
public void toScreen(String s) { System.out.println(s); }
/**
* 根据传送的字符串判断是否关闭
通信---------------------------------(3)
*/
public boolean closeConnect(String s) { if(s.equals("#bye#"))return true;return false; }
/**
* 获取从键盘输入的字符串---------------------------------(4)
*/
public String getStrFromKey()
{
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
return br.readLine();
}catch(IOException eoe)
{
System.out.println("从键盘读取字符串发生I/O错误!");
System.exit(-1);
}
return null;
}
public static void main(String args[])
{
XChatp xc = new XChatp();
P2PSocket pps = new P2PSocket();
pps.setInputPipeName("PP");
pps.setInListener(xc);
pps.bind();
pps.setOutListener(pps);
pps.connect("PP");
while(true)
pps.send(new BaseMessage().newChatMessage(xc.getStrFromKey(),
"Peer1",pps.getInputPipeName()));
}
}