package com.fzzy.igds.iot.server; import com.fzzy.igds.iot.analysis.builder.ReMessageBuilder; import com.ld.io.api.IoServerOption; import com.ld.io.api.IoSession; import com.ld.io.api.IoSessionQuery; import com.ld.io.netty.NettyServer; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * @Description FZZT-IOT 服务启动类 * @Author CZT * @Date 2025/11/11 18:09 */ @Slf4j @Service public class IotServerEngine { public static final Integer PORT = 9302; @Autowired private IotMessageConsumer defaultMessageConsumer; @Autowired private IotSessionListener defaultSessionListener; private IoSessionQuery sessionQuery; public void start(Integer port) { IoServerOption ioServerOption = new IoServerOption(); if (null != port) { ioServerOption.setPort(port); } else { ioServerOption.setPort(PORT); } ioServerOption.setDelimiter(ReMessageBuilder.SUFFIX.getBytes()); NettyServer ioServer = new NettyServer(ioServerOption, defaultMessageConsumer, defaultSessionListener); ioServer.startup(); sessionQuery = ioServer.getSessionQuery(); log.info("* "); log.info("* ========================"); log.info("* "); log.info("* [SERVER:FZZY_IOT,PORT={}]", PORT); log.info("* "); log.info("* ========================"); log.info("* "); System.out.println("* ========================"); System.out.println("* "); System.out.println("* [SERVER:FZZY_IOT,PORT={}]" + port); System.out.println("* "); System.out.println("* ========================"); } public IoSessionQuery getSessionQuery() { return sessionQuery; } public IoSession getSessionById(String sessionId) { return this.getSessionQuery().getSession(sessionId); } }