?? xchat.java
字號:
import java.io.*;
import net.jxta.pipe.*;
import net.jxta.endpoint.*;
import net.jxta.impl.endpoint.*;
public class XChat
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[])
{
XChat xc = new XChat();
P2PSocket pps = new P2PSocket();
pps.setInputPipeName("001");
pps.setInListener(xc);
pps.bind();
pps.setOutListener(pps);
pps.connect("002");
while(true)
pps.send(new BaseMessage().newChatMessage(xc.getStrFromKey(),
pps.getOutputPipeName(),pps.getInputPipeName()));
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -