📄 cfchatlistener.java
字号:
package com.cn.darkblue.listener;
import java.util.HashMap;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.cn.darkblue.helper.IPGResource;
import com.cn.darkblue.util.CFResource;
import com.cn.darkblue.util.MessageUtil;
import net.jxta.endpoint.Message;
import net.jxta.endpoint.MessageElement;
import net.jxta.endpoint.Message.ElementIterator;
import net.jxta.peergroup.PeerGroup;
import net.jxta.pipe.PipeMsgEvent;
import net.jxta.pipe.PipeMsgListener;
import net.jxta.util.JxtaBiDiPipe;
public class CFChatListener implements PipeMsgListener{
private static final Log log = LogFactory.getLog(SecChatListener.class);
PeerGroup group;
String friend ;
JxtaBiDiPipe bidiOut;
public CFChatListener(PeerGroup pg,String fri,JxtaBiDiPipe out){
group = pg;
friend = fri;
bidiOut = out;
bidiOut.setMessageListener(this);
}
public void pipeMsgEvent(PipeMsgEvent event) {
log.info("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
Message message = event.getMessage();
ElementIterator mi = message.getMessageElements();
String mes = null;
try{
mes = (String)MessageUtil.getStringFromMessage(message,SecChatListener.CHAT_COMM_SPACE,
SecChatListener.CHAT_COMM_MSG );//CHAT_COMM_SPACE, CHAT_COMM_MSG);
}catch(Exception e){
e.printStackTrace();
}
if(mes !=null ){
IPGResource pgres = (IPGResource)CFResource.getInstance().getJoinPGMap().get(group);
HashMap map = pgres.getMsgQueues();
Object mobj = map.get(friend);
Queue queue;
System.out.println(friend+" sayed: "+mes);
if(mobj==null){
queue = new ConcurrentLinkedQueue();
map.put(friend, queue);
}else
queue = (Queue)mobj;
queue.add(mes);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -