📄 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()));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -