xchatlistener.java

来自「JXTA——Java P2P网络编程技术,最近」· Java 代码 · 共 48 行

JAVA
48
字号
import java.io.*;

import net.jxta.pipe.*; 
import net.jxta.impl.endpoint.*;

import demo.p2psocket.*;

public class XChatListener implements PipeMsgListener{
	public void pipeMsgEvent ( PipeMsgEvent event ){
		System.out.println("come a message!");
		MessageImpl mi=(MessageImpl) event.getMessage();
		String message=mi.getString(BaseMessage.CHAT);
		if (this.closeConnect(message)) return;
		String temp=mi.getString(BaseMessage.OP);
		toScreen(temp+":"+message);	
	}
	
	public void toScreen (String s) {
		System.out.println(s);
	}
	public boolean closeConnect(String s) {
		if (s.equals("#bye#")) return true;
		return false;
	}
	public String getStrFromKey() {
		try {
			BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
			return br.readLine();
		}catch (IOException ioe) {
			System.err.println("从键盘读取字符串时发生I/O错误!");
			System.exit(-1);
		}
		return null;
	}
	
	public static void main(String args[]) {
		XChatListener xc=new XChatListener();
		P2PSocket pps=new P2PSocket();
		pps.setInputPipeName("002");
		pps.setInListener(xc);
		pps.bind();	
		pps.setOutListener(pps);
		pps.connect("001");
		while(true)		
		pps.send(new BaseMessage().newChatMessage(xc.getStrFromKey(),
				pps.getOutputPipeName(),pps.getInputPipeName()));		
	}
}

⌨️ 快捷键说明

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