package com.ld.igds.protocol.beibo.grainv1.server;
|
|
|
import com.ld.igds.util.BytesUtil;
|
import com.ld.io.api.IoSession;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* 工具类
|
*
|
* @author vince
|
*/
|
public class BeiboGrainV1ServerUtils {
|
|
|
/**
|
* 记录每个连接的最后一次信息时间 key = 连接的KYE,data =当前时间戳
|
*/
|
public static Map<String, Long> contextMapHeart = new HashMap<>();
|
|
public static Map<String, IoSession> contextIoSession = new HashMap<>();
|
|
|
public static int HEART_BEAT_TIME = 30;//心跳间隔时间
|
|
/**
|
* 针对无线粮情主机的默认ID配置
|
*/
|
public static String DEFAULT_MAC_ID = "6550";
|
|
/**
|
* 生成TCP连接的KEY
|
*
|
* @param ip
|
* @param port
|
* @return
|
*/
|
public static String getServerKey(String ip, Integer port) {
|
return ip + ":" + port;
|
}
|
|
|
/**
|
* 添加最新心跳时间戳
|
*
|
* @param session
|
*/
|
public static void addHeartBeat(IoSession session) {
|
contextMapHeart.put(getServerKey(session.getAddress(), session.getPort()), System.currentTimeMillis());
|
}
|
|
public static Long getHearBeat(IoSession session) {
|
return contextMapHeart.get(getServerKey(session.getAddress(), session.getPort()));
|
}
|
|
public static void addSession(IoSession session) {
|
contextIoSession.put(DEFAULT_MAC_ID, session);
|
}
|
|
public static IoSession getSession() {
|
return contextIoSession.get(DEFAULT_MAC_ID);
|
}
|
}
|