From a836f03a5d1fbfa81e147d09ffdfa87ba3975c13 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 18 三月 2025 16:45:02 +0800
Subject: [PATCH] 1
---
server/jtt808_parent/jtt808-server/src/test/java/org/yzh/client/ClientTest.java | 228 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 228 insertions(+), 0 deletions(-)
diff --git a/server/jtt808_parent/jtt808-server/src/test/java/org/yzh/client/ClientTest.java b/server/jtt808_parent/jtt808-server/src/test/java/org/yzh/client/ClientTest.java
new file mode 100644
index 0000000..7323ab8
--- /dev/null
+++ b/server/jtt808_parent/jtt808-server/src/test/java/org/yzh/client/ClientTest.java
@@ -0,0 +1,228 @@
+package org.yzh.client;
+
+import io.github.yezhihao.netmc.session.Session;
+import io.swagger.models.auth.In;
+import org.yzh.client.netty.ClientConfig;
+import org.yzh.client.netty.HandlerMapping;
+import org.yzh.client.netty.TCPClient;
+import org.yzh.commons.util.DateUtils;
+import org.yzh.commons.util.StrUtils;
+import org.yzh.protocol.basics.JTMessage;
+import org.yzh.protocol.codec.JTMessageAdapter;
+import org.yzh.protocol.commons.JT808;
+import org.yzh.protocol.commons.transform.attribute.AlarmADAS;
+import org.yzh.protocol.commons.transform.attribute.AlarmBSD;
+import org.yzh.protocol.commons.transform.attribute.AlarmDSM;
+import org.yzh.protocol.commons.transform.attribute.AlarmTPMS;
+import org.yzh.protocol.t808.*;
+
+import java.time.LocalDateTime;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.concurrent.ThreadLocalRandom;
+
+public class ClientTest {
+
+ public static final JTMessageAdapter messageAdapter = new JTMessageAdapter("org.yzh.protocol");
+
+ // tcp://server.demo.natool.cn:19392
+// dmtest.ahapp.net:7611
+ public static final ClientConfig jtConfig = new ClientConfig.Builder()
+// .setIp("server.demo.natool.cn")
+// .setPort(31146)
+ .setIp("dmtest.ahapp.net")
+ .setPort(7611)
+ .setMaxFrameLength(2 + 21 + 1023 * 2 + 1 + 2)
+ .setDelimiters(new byte[]{0x7e})
+ .setDecoder(messageAdapter)
+ .setEncoder(messageAdapter)
+ .setHandlerMapping(new HandlerMapping("org.yzh.client"))
+ .build();
+
+ public static void main(String[] args) {
+ TCPClient tcpClient = new TCPClient("0", jtConfig).start();
+ tcpClient.writeObject(T0100("2"));
+ /* for (int i = 0; i < 1000; i++) {
+ try {
+ Thread.sleep(3000L);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ boolean alarm = i % 10 == 0;
+ tcpClient.writeObject(T0200(""+i, alarm));
+ }*/
+ }
+
+ public static T0100 T0100(String id) {
+ String deviceId = "T" + StrUtils.leftPad(id, 6, '0');
+ String clientId = "1" + StrUtils.leftPad(id, 10, '0');
+ String plateNo = "鐨朅" + StrUtils.leftPad(id, 5, '0');
+
+ T0100 message = new T0100();
+ message.setMessageId(JT808.缁堢娉ㄥ唽);
+ message.setProtocolVersion(1);
+ message.setVersion(true);
+ message.setClientId(clientId);
+
+ message.setProvinceId(31);
+ message.setCityId(115);
+ message.setMakerId("yzh");
+ message.setDeviceModel("www.baidu.cn");
+ message.setDeviceId(deviceId);
+ message.setPlateColor(1);
+ message.setPlateNo(plateNo);
+ return message;
+ }
+
+ private static ThreadLocalRandom random = ThreadLocalRandom.current();
+
+ public static T0200 T0200(String id, int no) {
+ return T0200(id, false,no);
+ }
+ public static T0201_0500 T0201_0500(String id, int no) {
+ return T0201_0500(id, no);
+ }
+
+ public static T0201_0500 T0201_0500(JTMessage msg) {
+// String clientId = "1" + StrUtils.leftPad(id, 10, '0');
+ T0201_0500 message = new T0201_0500();
+// message.setMessageId(JT808.浣嶇疆淇℃伅姹囨姤);
+ message.setMessageId(JT808.浣嶇疆淇℃伅鏌ヨ搴旂瓟);
+ message.setProtocolVersion(1);
+ message.setResponseSerialNo(msg.getSerialNo());
+ message.setVersion(true);
+ message.setClientId(msg.getClientId());
+ message.setWarnBit(1024);
+ message.setStatusBit(2048);
+ message.setLatitude(39915931);
+ message.setLongitude(116403829);
+ message.setAltitude(312);
+ message.setSpeed(111);
+ message.setDirection(99);
+ LocalDateTime dateTime = LocalDateTime.now();
+ message.setDeviceTime(dateTime);
+ return message;
+ }
+ public static T0107 T0107_0500(JTMessage msg) {
+// String clientId = "1" + StrUtils.leftPad(id, 10, '0');
+ T0107 message = new T0107();
+ message.setMessageId(JT808.鏌ヨ缁堢灞炴�у簲绛�);
+ message.setProtocolVersion(1);
+ message.setResponseSerialNo(msg.getSerialNo());
+ message.setVersion(true);
+ message.setClientId(msg.getClientId());
+ message.setDeviceType(1);
+ message.setDeviceId("123123");
+ message.setDeviceModel("12324235235325");
+ message.setIccid("23");
+ message.setReserved(true);
+ message.setDeviceId ("T00002");
+ LocalDateTime dateTime = LocalDateTime.now();
+ return message;
+ }
+
+ public static T0200 T0200(String clientId, boolean alarm, int no) {
+// String clientId = "1" + StrUtils.leftPad(id, 10, '0');
+
+ T0200 message = new T0200();
+// message.setMessageId(JT808.浣嶇疆淇℃伅姹囨姤);
+ message.setMessageId(JT808.浣嶇疆淇℃伅鏌ヨ搴旂瓟);
+ message.setProtocolVersion(1);
+ message.setSerialNo(no);
+ message.setVersion(true);
+ message.setClientId(clientId);
+ message.setWarnBit(1024);
+ message.setStatusBit(2048);
+ message.setLatitude(39915931);
+ message.setLongitude(116403829);
+ message.setAltitude(312);
+ message.setSpeed(111);
+ message.setDirection(99);
+ LocalDateTime dateTime = LocalDateTime.now();
+ message.setDeviceTime(dateTime);
+
+ if (alarm) {
+ AlarmADAS alarmADAS = new AlarmADAS();
+ alarmADAS.setId(64);
+ alarmADAS.setState(1);
+ alarmADAS.setType(random.nextInt(1, 11));
+ alarmADAS.setLevel(1);
+ alarmADAS.setFrontSpeed(10);
+ alarmADAS.setFrontDistance(10);
+ alarmADAS.setDeviateType(1);
+ alarmADAS.setRoadSign(1);
+ alarmADAS.setRoadSignValue(10);
+ alarmADAS.setSpeed(10);
+ alarmADAS.setAltitude(100);
+ alarmADAS.setLatitude(32111111);
+ alarmADAS.setLongitude(123111111);
+ alarmADAS.setAlarmTime(dateTime);
+ alarmADAS.setStatusBit(1);
+ alarmADAS.setDeviceId(clientId);
+ alarmADAS.setDateTime(dateTime);
+ alarmADAS.setSequenceNo(1);
+ alarmADAS.setFileTotal(1);
+ alarmADAS.setReserved(1);
+
+ AlarmDSM alarmDSM = new AlarmDSM();
+ alarmDSM.setId(65);
+ alarmDSM.setState(2);
+ alarmDSM.setType(random.nextInt(1, 17));
+ alarmDSM.setLevel(2);
+ alarmDSM.setFatigueDegree(20);
+ alarmDSM.setReserved(20);
+ alarmDSM.setSpeed(20);
+ alarmDSM.setAltitude(200);
+ alarmDSM.setLatitude(32222222);
+ alarmDSM.setLongitude(123222222);
+ alarmDSM.setAlarmTime(dateTime);
+ alarmDSM.setStatusBit(2);
+ alarmDSM.setDeviceId(clientId);
+ alarmDSM.setDateTime(dateTime);
+ alarmDSM.setSequenceNo(2);
+ alarmDSM.setFileTotal(2);
+ alarmDSM.setReserved(2);
+
+ AlarmTPMS alarmTPMS = new AlarmTPMS();
+ alarmTPMS.setId(66);
+ alarmTPMS.setState(3);
+ alarmTPMS.setSpeed(30);
+ alarmTPMS.setAltitude(300);
+ alarmTPMS.setLatitude(32333333);
+ alarmTPMS.setLongitude(123333333);
+ alarmTPMS.setAlarmTime(dateTime);
+ alarmTPMS.setStatusBit(3);
+ alarmTPMS.setDeviceId(clientId);
+ alarmTPMS.setDateTime(dateTime);
+ alarmTPMS.setSequenceNo(3);
+ alarmTPMS.setFileTotal(3);
+ alarmTPMS.setReserved(3);
+
+ AlarmBSD alarmBSD = new AlarmBSD();
+ alarmBSD.setId(67);
+ alarmBSD.setState(4);
+ alarmBSD.setType(random.nextInt(1, 3));
+ alarmBSD.setSpeed(40);
+ alarmBSD.setAltitude(400);
+ alarmBSD.setLatitude(32444444);
+ alarmBSD.setLongitude(123444444);
+ alarmBSD.setAlarmTime(dateTime);
+ alarmBSD.setStatusBit(4);
+ alarmBSD.setDeviceId(clientId);
+ alarmBSD.setDateTime(dateTime);
+ alarmBSD.setSequenceNo(4);
+ alarmBSD.setFileTotal(4);
+ alarmBSD.setReserved(4);
+
+ Map<Integer, Object> attributes = new TreeMap<>();
+ attributes.put(Integer.valueOf(AlarmADAS.key), alarmADAS);
+ attributes.put(Integer.valueOf(AlarmDSM.key), alarmDSM);
+ attributes.put(Integer.valueOf(AlarmTPMS.key), alarmTPMS);
+ attributes.put(Integer.valueOf(AlarmBSD.key), alarmBSD);
+
+ message.setAttributes(attributes);
+ }
+ return message;
+ }
+
+}
\ No newline at end of file
--
Gitblit v1.9.3