package com.zt.plat.module.qms.iot.tcpserver.handler;

import com.zt.plat.module.qms.iot.tcpserver.IotPacket;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import tech.zzjc.tio.core.ChannelContext;
import tech.zzjc.tio.core.Tio;

import java.nio.charset.Charset;

/**
 * <b>IotHeartbeatHandler</b>
 * <p>
 * 更新历史：
 * <pre> 版本         更新时间            更新者        更新内容<hr/>
 * V1.0      2019年9月27日          王兴荣         Add</pre>
 * <b>Copyright (C)  云南志者竟成科技有限公司</b> 
 * <p>
 * @author 王兴荣 &lt;xingrong_wang@will-way.cn&gt;
 * @version V1.0 
 * @since 2019年9月27日
 */
@Slf4j
@Component
public class IotHeartbeatHandler implements IotHander {

    @Override
    public Object hander(IotPacket iotPacket, ChannelContext channelContext) throws Exception {
        IotPacket resppacket = new IotPacket();
        resppacket.setBody((IotPacket.PONG + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET)));
        Tio.send(channelContext, resppacket);
        log.debug(channelContext.getClientNode().getIp() + ":" + channelContext.getClientNode().getPort() +": 心跳消息。。。。");
        return null;
    }

}
