• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ServerMessage类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.ddpush.im.v1.node.ServerMessage的典型用法代码示例。如果您正苦于以下问题:Java ServerMessage类的具体用法?Java ServerMessage怎么用?Java ServerMessage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ServerMessage类属于org.ddpush.im.v1.node包,在下文中一共展示了ServerMessage类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: push0x10

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
private void push0x10() throws Exception{
	if(this.hasMessage0x10 == false){
		return;
	}
	if((this.lastAddr == null || (System.currentTimeMillis() - this.lastTick)>1000*PUSH_IM_AFTER_ACTIVE_SECOND) && this.getMessengerTask() == null ){
		return;
	}
	byte[] data = new byte[Constant.SERVER_MESSAGE_MIN_LENGTH];//5 bytes
	ByteBuffer bb = ByteBuffer.wrap(data);
	bb.put((byte)1);//version
	bb.put((byte)0);//app id,0 here
	bb.put((byte)ClientStatMachine.CMD_0x10);//cmd
	bb.putShort((short)0);//length 0
	bb.flip();
	ServerMessage sm = new ServerMessage(this.lastAddr, data);
	if(this.lastAddr != null && (System.currentTimeMillis() - this.lastTick)<1000*PUSH_IM_AFTER_ACTIVE_SECOND){
		IMServer.getInstance().pushInstanceMessage(sm);
	}
	if(this.getMessengerTask() != null){
		try{this.getMessengerTask().pushInstanceMessage(sm);}catch(Exception e){};
	}
	
	
}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:25,代码来源:ClientStatMachine.java


示例2: push0x11

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
private void push0x11() throws Exception{
	if(this.message0x11 == 0){
		return;
	}
	if((this.lastAddr == null || (System.currentTimeMillis() - this.lastTick)>1000*PUSH_IM_AFTER_ACTIVE_SECOND) && this.getMessengerTask() == null ){
		return;
	}
	byte[] data = new byte[Constant.SERVER_MESSAGE_MIN_LENGTH+8];//13 bytes
	ByteBuffer bb = ByteBuffer.wrap(data);
	bb.put((byte)1);//version
	bb.put((byte)0);//app id, 0 here
	bb.put((byte)ClientStatMachine.CMD_0x11);//cmd
	bb.putShort((short)8);//length 8
	bb.putLong(message0x11);
	bb.flip();
	ServerMessage sm = new ServerMessage(this.lastAddr, data);
	if(this.lastAddr != null && (System.currentTimeMillis() - this.lastTick)<1000*PUSH_IM_AFTER_ACTIVE_SECOND){
		IMServer.getInstance().pushInstanceMessage(sm);
	}
	if(this.getMessengerTask() != null){
		try{this.getMessengerTask().pushInstanceMessage(sm);}catch(Exception e){};
	}
}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:24,代码来源:ClientStatMachine.java


示例3: push0x20

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
private void push0x20() throws Exception{
	if(has0x20Message() == false){
		return;
	}
	if((this.lastAddr == null || (System.currentTimeMillis() - this.lastTick)>1000*PUSH_IM_AFTER_ACTIVE_SECOND) && this.getMessengerTask() == null ){
		return;
	}
	byte[] data = new byte[Constant.SERVER_MESSAGE_MIN_LENGTH+message0x20Len];
	ByteBuffer bb = ByteBuffer.wrap(data);
	bb.put((byte)1);//version
	bb.put((byte)0);//app id, 0 here
	bb.put((byte)ClientStatMachine.CMD_0x20);//cmd
	bb.putShort((short)message0x20Len);
	bb.put(this.message0x20);
	bb.flip();
	ServerMessage sm = new ServerMessage(this.lastAddr, data);
	if(this.lastAddr != null && (System.currentTimeMillis() - this.lastTick)<1000*PUSH_IM_AFTER_ACTIVE_SECOND){
		IMServer.getInstance().pushInstanceMessage(sm);
	}
	if(this.getMessengerTask() != null){
		try{this.getMessengerTask().pushInstanceMessage(sm);}catch(Exception e){};
	}
}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:24,代码来源:ClientStatMachine.java


示例4: gen0x20Message

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
private void gen0x20Message(ClientMessage cm, ArrayList<ServerMessage> smList) throws Exception{
	if(this.has0x20Message() == false){
		return;
	}
	byte[] data = new byte[Constant.SERVER_MESSAGE_MIN_LENGTH + message0x20Len];//5+length bytes
	ByteBuffer bb = ByteBuffer.wrap(data);
	bb.put((byte)1);//version
	bb.put(cm.getData()[1]);//app id
	bb.put((byte)ClientStatMachine.CMD_0x20);//cmd
	bb.putShort((short)message0x20Len);//length
	bb.put(message0x20);
	bb.flip();
	ServerMessage sm = new ServerMessage(cm.getSocketAddress(), data);
	smList.add(sm);
	
}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:17,代码来源:ClientStatMachine.java


示例5: deliverMessage

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
private void deliverMessage(ClientMessage m) throws Exception{
	//System.out.println(this.hostThread.getName()+" receive:"+StringUtil.convert(m.getData()));
	//System.out.println(m.getSocketAddress().getClass().getName());
	String uuid = m.getUuidHexString();
	//ClientStatMachine csm = NodeStatus.getInstance().getClientStat(uuid);
	ClientStatMachine csm = nodeStat.getClientStat(uuid);// 查找内存中的状态机
	if(csm == null){//
		csm = ClientStatMachine.newByClientTick(m);/// 创建状态机
		if(csm == null){
			return;
		}
		nodeStat.putClientStat(uuid, csm);
	}
	// 查找是否有消息发送给终端
	ArrayList<ServerMessage> smList = csm.onClientMessage(m);
	if(smList == null){
		return;
	}
	for(int i = 0; i < smList.size(); i++){
		ServerMessage sm = smList.get(i);
		if(sm.getSocketAddress() == null)continue;
		this.connector.send(sm);
	}
	
}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:26,代码来源:Messenger.java


示例6: pushInstanceMessage

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
public void pushInstanceMessage(ServerMessage sm){
	if(sm == null || sm.getData() == null || sm.getData().length == 0){
		return;
	}
	if(this.channel == null || this.channel.isConnected()==false || this.channel.isRegistered() == false){
		return;
	}
	if(this.isCancel == true){
		return;
	}
	if(this.pendingEvents == null){
		this.pendingEvents = new java.util.LinkedList<ServerMessage>();
	}
	this.pendingEvents.add(sm);
	if(key != null){
		this.registerForWrite(key, true);
		key.selector().wakeup();
	}
}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:20,代码来源:MessengerTask.java


示例7: deliverMessage

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
private void deliverMessage(ClientMessage m) throws Exception{
	//System.out.println(this.hostThread.getName()+" receive:"+StringUtil.convert(m.getData()));
	//System.out.println(m.getSocketAddress().getClass().getName());
	String uuid = m.getUuidHexString();
	//ClientStatMachine csm = NodeStatus.getInstance().getClientStat(uuid);
	ClientStatMachine csm = nodeStat.getClientStat(uuid);
	if(csm == null){//
		csm = ClientStatMachine.newByClientTick(m);
		if(csm == null){
			return;
		}
		nodeStat.putClientStat(uuid, csm);
	}
	ArrayList<ServerMessage> smList = csm.onClientMessage(m);
	if(smList == null){
		return;
	}
	for(int i = 0; i < smList.size(); i++){
		ServerMessage sm = smList.get(i);
		if(sm.getSocketAddress() == null)continue;
		this.connector.send(sm);
	}
	
}
 
开发者ID:taojiaenx,项目名称:taojiane_push,代码行数:25,代码来源:UDPMessenger.java


示例8: onClientMessage

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
public synchronized ArrayList<ServerMessage> onClientMessage(ClientMessage cm) throws Exception{
		
		if(cm == null){
			throw new NullPointerException("param client message is null");
		}
		
//		if(cm.getSocketAddress() == null){
//			throw new NullPointerException("client socket address is null");
//		}
		ArrayList<ServerMessage> smList = new ArrayList<ServerMessage>();
		if(cm.getCmd() == ClientStatMachine.CMD_0x00){//心跳
			// nothing to do 
		}else if(cm.getCmd() == ClientStatMachine.CMD_0x10){//确认通用信息
			this.clear0x10Message();
			return smList;
		}else if(cm.getCmd() == ClientStatMachine.CMD_0x11){//确认分组信息
			this.clear0x11Message(cm.getData(), Constant.CLIENT_MESSAGE_MIN_LENGTH);
			return smList;
		}else if(cm.getCmd() == ClientStatMachine.CMD_0x20){//确认自定义信息
			this.clear0x20Message();
			return smList;
		}else{//非法命令
			return null;
		}
		
		this.genServerMessageList(cm, smList);
		
		return smList;
	}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:30,代码来源:ClientStatMachine.java


示例9: genServerMessageList

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
private void genServerMessageList(ClientMessage cm, ArrayList<ServerMessage> smList) throws Exception {
	this.lastTick = System.currentTimeMillis();
	boolean needTickBack = false;
	if(cm.getSocketAddress() == null){
		needTickBack = false;
	}else if(ackHeartbeatPolicy == POLICY_ALWAYS){
		needTickBack = true;
	}else if(ackHeartbeatPolicy == POLICY_NEVER){
		needTickBack = false;
	}else{
		if(cm.getSocketAddress().equals(lastAddr)){//最新地址和上次地址一致,不回应心跳包
			needTickBack = false;
		}else{//地址改变,回应心跳包
			needTickBack = true;
		}
	}
	if(cm.getSocketAddress() != null){
		lastAddr = cm.getSocketAddress();
	}
	gen0x10Message(cm, smList);
	gen0x11Message(cm, smList);
	gen0x20Message(cm, smList);
	if(needTickBack == true && smList.size() == 0){
		gen0x00Message(cm,smList);
	}
	
}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:28,代码来源:ClientStatMachine.java


示例10: gen0x00Message

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
private void gen0x00Message(ClientMessage cm, ArrayList<ServerMessage> smList) throws Exception{
	byte[] data = new byte[Constant.SERVER_MESSAGE_MIN_LENGTH];//5 bytes
	ByteBuffer bb = ByteBuffer.wrap(data);
	bb.put((byte)1);//version
	bb.put(cm.getData()[1]);//app id
	bb.put((byte)ClientStatMachine.CMD_0x00);//cmd
	bb.putShort((short)0);//length 0
	bb.flip();
	ServerMessage sm = new ServerMessage(cm.getSocketAddress(), data);
	smList.add(sm);
}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:12,代码来源:ClientStatMachine.java


示例11: gen0x10Message

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
private void gen0x10Message(ClientMessage cm, ArrayList<ServerMessage> smList) throws Exception{
	if(!hasMessage0x10){
		return;
	}
	byte[] data = new byte[Constant.SERVER_MESSAGE_MIN_LENGTH];//5 bytes
	ByteBuffer bb = ByteBuffer.wrap(data);
	bb.put((byte)1);//version
	bb.put(cm.getData()[1]);//app id
	bb.put((byte)ClientStatMachine.CMD_0x10);//cmd
	bb.putShort((short)0);//length 0
	bb.flip();
	ServerMessage sm = new ServerMessage(cm.getSocketAddress(), data);
	smList.add(sm);
	
}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:16,代码来源:ClientStatMachine.java


示例12: gen0x11Message

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
private void gen0x11Message(ClientMessage cm, ArrayList<ServerMessage> smList) throws Exception{
	if(message0x11 == 0){
		return;
	}
	byte[] data = new byte[Constant.SERVER_MESSAGE_MIN_LENGTH+8];//13 bytes
	ByteBuffer bb = ByteBuffer.wrap(data);
	bb.put((byte)1);//version
	bb.put(cm.getData()[1]);//app id
	bb.put((byte)ClientStatMachine.CMD_0x11);//cmd
	bb.putShort((short)8);//length 8
	bb.putLong(message0x11);
	bb.flip();
	ServerMessage sm = new ServerMessage(cm.getSocketAddress(), data);
	smList.add(sm);
}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:16,代码来源:ClientStatMachine.java


示例13: processReq

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
private void processReq() throws Exception{
	//check and put data into nodeStat
	//buffer.flip();
	byte[] data = new byte[buffer.limit()];
	System.arraycopy(bufferArray, 0, data, 0, buffer.limit());
	buffer.clear();
	this.writePending = false;//important
	ClientMessage cm = new ClientMessage(null, data);
	NodeStatus nodeStat = NodeStatus.getInstance();
	String uuid = cm.getUuidHexString(); 
	ClientStatMachine csm = nodeStat.getClientStat(uuid);
	if(csm == null){//
		csm = ClientStatMachine.newByClientTick(cm);
		if(csm == null){
			return;
		}
		nodeStat.putClientStat(uuid, csm);
	}
	csm.setMessengerTask(this);
	ArrayList<ServerMessage> smList = csm.onClientMessage(cm);
	if(smList == null || smList.size() == 0){
		return;
	}
	
	for(int i = 0; i < smList.size(); i++){
		ServerMessage sm = smList.get(i);
		this.pushInstanceMessage(sm);
	}

}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:31,代码来源:MessengerTask.java


示例14: processMessage

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
protected void processMessage() throws Exception{
	buffer.clear();
	ServerMessage pendingMessage = dequeue();
	if(pendingMessage == null){
		//Thread.yield();
		return;
	}
	buffer.put(pendingMessage.getData());
	buffer.flip();
	channel.send(buffer, pendingMessage.getSocketAddress());
}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:12,代码来源:Sender.java


示例15: enqueue

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
protected boolean enqueue(ServerMessage message){
	boolean result = mq.add(message);
	if(result == true){
		queueIn.addAndGet(1);
	}
	return result;
}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:8,代码来源:Sender.java


示例16: dequeue

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
protected ServerMessage dequeue(){
	ServerMessage m = mq.poll();
	if(m != null){
		queueOut.addAndGet(1);
	}
	return m;
}
 
开发者ID:ahhblss,项目名称:ddpush,代码行数:8,代码来源:Sender.java


示例17: newServerMessage

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
public ServerMessage newServerMessage(SocketAddress address, byte[] content, final int type) throws Exception {
	byte[] data = new byte[Constant.SERVER_MESSAGE_MIN_LENGTH+content.length];
	ByteBuffer bb = ByteBuffer.wrap(data);
	bb.put((byte)1);//version
	bb.put((byte)0);//app id, 0 here
	bb.put((byte)type);//cmd
	bb.putShort((short)(content.length));
	bb.put(content);
	bb.flip();
	return super.newServerMessage(address, data);
}
 
开发者ID:taojiaenx,项目名称:taojiane_push,代码行数:12,代码来源:BroadCastMessageCreator.java


示例18: sendResponse

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
private void sendResponse(final String fromUUIDHex, final String packageID,
		final int res, final int count) throws Exception {
	CommandResponse reponse = COMMAND_RESPONSE.get();
	reponse.setRes(res);
	reponse.setPacketID(packageID);
	reponse.setBroadCastCount(count);

	ClientStatMachine csm = NodeStatus.getInstance().getInstance()
			.getClientStat(fromUUIDHex);
	ServerMessage message = SERVER_MESSAGE_CREATOR.newServerMessage(csm
			.getLastAddr(), JsonCreator.toJsonWithGson(reponse,
			CommandResponse.class, LOCAL_GSON.get()).getBytes("utf-8"), Commander.CMD_STORE);
	IMServer.getInstance().pushInstanceMessage(message);

}
 
开发者ID:taojiaenx,项目名称:taojiane_push,代码行数:16,代码来源:MysqlQueryer.java


示例19: sendBroadCast

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
private void sendBroadCast(final SocketAddress adress,
		final BroadCast broadcast) throws Exception {
	ServerMessage message = SERVER_MESSAGE_CREATOR.newServerMessage(adress,
			JsonCreator.toJsonWithGson(broadcast, BroadCast.class,
					LOCAL_GSON.get()).getBytes("utf-8"), Commander.CMD_QUERY);
	IMServer.getInstance().pushInstanceMessage(message);

}
 
开发者ID:taojiaenx,项目名称:taojiane_push,代码行数:9,代码来源:MysqlQueryer.java


示例20: enqueue

import org.ddpush.im.v1.node.ServerMessage; //导入依赖的package包/类
protected boolean enqueue(ServerMessage message) {
	boolean result = false;
	queueIn.addAndGet(1);
	try {
		processMessage(message);
		queueOut.addAndGet(1);
		result = true;
	} catch (Exception e) {
		logger.error("向发送客户端发送推送消息错误", e);
	}
	return result;
}
 
开发者ID:taojiaenx,项目名称:taojiane_push,代码行数:13,代码来源:Sender.java



注:本文中的org.ddpush.im.v1.node.ServerMessage类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java TemplatingFunctions类代码示例发布时间:2022-05-15
下一篇:
Java ClinicalNotesShortVoAssembler类代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap