diff --git a/config/application-local.properties b/config/application-local.properties
index 078a4f8..b018519 100644
--- a/config/application-local.properties
+++ b/config/application-local.properties
@@ -27,6 +27,8 @@ spring.datasource.dbcp2.connection-properties=characterEncoding=utf8
#mybatis.configuration.map-underscore-to-camel-case: true
mybatis.mapper-locations=classpath*:mappers/*.xml
mybatis.type-aliases-package=com.zjyr.beidouservice.pojo.entry
-#mybatis.configuration.default-enum-type-handler=com.dispose.common.CommonEnumHandler
+mybatis.configuration.default-enum-type-handler=com.zjyr.beidouservice.common.CommonEnumHandler
+#mybatis.configuration.log-impl=lombok.extern.slf4j.Slf4j
#config log
-logging.config=file:config/logback.xml
\ No newline at end of file
+logging.config=file:config/logback.xml
+log4j.logger.org.mybatis=debug
\ No newline at end of file
diff --git a/config/logback.xml b/config/logback.xml
index 13a00dc..64a24bd 100644
--- a/config/logback.xml
+++ b/config/logback.xml
@@ -4,6 +4,8 @@
+
+
@@ -46,14 +48,7 @@
-
-
-
-
-
-
+
diff --git a/pom.xml b/pom.xml
index 5ba4735..a05da81 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,6 +20,12 @@
org.springframework.boot
spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
org.mybatis.spring.boot
@@ -70,11 +76,21 @@
mapper-spring-boot-starter
4.2.3
+
+ com.github.seancfoley
+ ipaddress
+ 5.4.0
+
com.microsoft.sqlserver
mssql-jdbc
12.4.0.jre11
+
+ org.springframework.boot
+ spring-boot-starter-undertow
+ 3.1.2
+
diff --git a/src/main/java/com/zjyr/beidouservice/adapter/impl/netty/ChannelInit.java b/src/main/java/com/zjyr/beidouservice/adapter/impl/netty/ChannelInit.java
index f318a73..e6d57a6 100644
--- a/src/main/java/com/zjyr/beidouservice/adapter/impl/netty/ChannelInit.java
+++ b/src/main/java/com/zjyr/beidouservice/adapter/impl/netty/ChannelInit.java
@@ -23,8 +23,8 @@ public class ChannelInit extends ChannelInitializer {
protected void initChannel(SocketChannel channel) {
channel.pipeline()
.addLast("idle", new IdleStateHandler(0, 0, 60, TimeUnit.SECONDS))
- .addLast("encode", new YuanRongProtocolDecode())
- .addLast("decode", new StringDecoder(CharsetUtil.UTF_8))
+ .addLast("decode", new YuanRongProtocolDecode())
+ .addLast("encode", new StringDecoder(CharsetUtil.UTF_8))
.addLast("message", messageHandler);
}
}
diff --git a/src/main/java/com/zjyr/beidouservice/adapter/impl/netty/MessageHandler.java b/src/main/java/com/zjyr/beidouservice/adapter/impl/netty/MessageHandler.java
index 279fab1..138f50a 100644
--- a/src/main/java/com/zjyr/beidouservice/adapter/impl/netty/MessageHandler.java
+++ b/src/main/java/com/zjyr/beidouservice/adapter/impl/netty/MessageHandler.java
@@ -1,6 +1,8 @@
package com.zjyr.beidouservice.adapter.impl.netty;
-import com.zjyr.beidouservice.misc.HelperUtils;
+import com.zjyr.beidouservice.common.impl.ControlDeviceTypeName;
+import com.zjyr.beidouservice.mapper.ControlDeviceMapper;
+import com.zjyr.beidouservice.pojo.entry.ControlDevice;
import com.zjyr.beidouservice.pojo.vo.ControlAdapterSocketCtx;
import com.zjyr.beidouservice.pojo.vo.YuanRongBinProtocol;
import io.netty.channel.ChannelHandler;
@@ -8,10 +10,12 @@ import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import io.netty.handler.timeout.IdleState;
import io.netty.handler.timeout.IdleStateEvent;
+import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
+import java.net.InetSocketAddress;
import java.util.concurrent.ConcurrentHashMap;
@Slf4j
@@ -20,6 +24,8 @@ import java.util.concurrent.ConcurrentHashMap;
@RequiredArgsConstructor
public class MessageHandler extends SimpleChannelInboundHandler {
public static ConcurrentHashMap ctxMap = new ConcurrentHashMap<>();
+ @Resource
+ private ControlDeviceMapper controlDeviceMapper;
@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
@@ -40,20 +46,26 @@ public class MessageHandler extends SimpleChannelInboundHandler list = controlDeviceMapper.selectAll();
+ log.info("{}:: Connected <-- {}:{}", ctx.channel().id(), sa.getAddress().getHostAddress(), sa.getPort());
+ controlDeviceMapper.addControlDevice(ControlDevice.builder().deviceType(ControlDeviceTypeName.DEVICE_SOCKET_TCP)
+ .deviceAddr(sa.getAddress().getHostAddress()).build());
super.channelActive(ctx);
}
@Override
public void channelInactive(ChannelHandlerContext ctx) throws Exception {
- log.info("{}:: Disonnected", ctx.channel().id());
+ InetSocketAddress sa = (InetSocketAddress) ctx.channel().remoteAddress();
+ log.info("{}:: Disonnected <-- {}", ctx.channel().id(), sa.getAddress().getHostAddress());
super.channelActive(ctx);
ctx.close();
}
diff --git a/src/main/java/com/zjyr/beidouservice/adapter/impl/netty/decode/YuanRongProtocolDecode.java b/src/main/java/com/zjyr/beidouservice/adapter/impl/netty/decode/YuanRongProtocolDecode.java
index 65c652d..7a6d6e3 100644
--- a/src/main/java/com/zjyr/beidouservice/adapter/impl/netty/decode/YuanRongProtocolDecode.java
+++ b/src/main/java/com/zjyr/beidouservice/adapter/impl/netty/decode/YuanRongProtocolDecode.java
@@ -3,10 +3,12 @@ package com.zjyr.beidouservice.adapter.impl.netty.decode;
import com.zjyr.beidouservice.pojo.vo.ControlAdapterSocketCtx;
import com.zjyr.beidouservice.pojo.vo.YuanRongBinProtocol;
import io.netty.buffer.ByteBuf;
+import io.netty.buffer.ByteBufUtil;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.ByteToMessageDecoder;
import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.nio.ByteBuffer;
@@ -19,6 +21,7 @@ import java.util.regex.Pattern;
@Component
@RequiredArgsConstructor
+@Slf4j
public class YuanRongProtocolDecode extends ByteToMessageDecoder {
public static final ByteBuf receiveBuffer = Unpooled.buffer(1024 * 1024);
@@ -63,16 +66,31 @@ public class YuanRongProtocolDecode extends ByteToMessageDecoder {
@Override
protected void decode(ChannelHandlerContext ctx, ByteBuf buffer, List