代码提交

master
liuqingkun 3 years ago
parent 0acf396df5
commit ae1508a6a6
  1. 36
      README.md
  2. 1
      commons/src/main/java/org/yzh/commons/constant/BusinessConstant.java
  3. 4
      commons/src/main/java/org/yzh/commons/model/APICode.java
  4. 4
      commons/src/main/java/org/yzh/commons/model/APICodes.java
  5. 4
      commons/src/main/java/org/yzh/commons/model/APIException.java
  6. 4
      commons/src/main/java/org/yzh/commons/model/APIResult.java
  7. 4
      commons/src/main/java/org/yzh/commons/model/Result.java
  8. 4
      commons/src/main/java/org/yzh/commons/util/Converter.java
  9. 4
      commons/src/main/java/org/yzh/commons/util/CoordTransform.java
  10. 4
      commons/src/main/java/org/yzh/commons/util/CoordType.java
  11. 4
      commons/src/main/java/org/yzh/commons/util/DateUtils.java
  12. 4
      commons/src/main/java/org/yzh/commons/util/EncryptUtils.java
  13. 4
      commons/src/main/java/org/yzh/commons/util/GeomUtils.java
  14. 4
      commons/src/main/java/org/yzh/commons/util/IOUtils.java
  15. 4
      commons/src/main/java/org/yzh/commons/util/JsonUtils.java
  16. 4
      commons/src/main/java/org/yzh/commons/util/StrUtils.java
  17. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/NettyConfig.java
  18. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/Server.java
  19. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/TCPServer.java
  20. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/UDPServer.java
  21. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/codec/Delimiter.java
  22. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/codec/LengthField.java
  23. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/codec/MessageDecoder.java
  24. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/codec/MessageEncoder.java
  25. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/AbstractHandlerMapping.java
  26. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/DefaultHandlerMapping.java
  27. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/HandlerInterceptor.java
  28. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/HandlerMapping.java
  29. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/SpringHandlerMapping.java
  30. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/annotation/Async.java
  31. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/annotation/AsyncBatch.java
  32. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/annotation/Endpoint.java
  33. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/annotation/Mapping.java
  34. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/handler/AsyncBatchHandler.java
  35. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/handler/Handler.java
  36. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/handler/SimpleHandler.java
  37. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/model/Message.java
  38. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/core/model/Response.java
  39. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/handler/DelimiterBasedFrameDecoder.java
  40. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/handler/DispatcherHandler.java
  41. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/handler/MessageDecoderWrapper.java
  42. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/handler/MessageEncoderWrapper.java
  43. 5
      jtt808-server/src/main/java/io/github/yezhihao/netmc/handler/TCPMessageAdapter.java
  44. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/handler/UDPMessageAdapter.java
  45. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/session/Packet.java
  46. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/session/Session.java
  47. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/session/SessionListener.java
  48. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/session/SessionManager.java
  49. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/util/AdapterCollection.java
  50. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/util/AdapterList.java
  51. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/util/AdapterMap.java
  52. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/util/AdapterSet.java
  53. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/util/ByteBufUtils.java
  54. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/util/ClassUtils.java
  55. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/util/Client.java
  56. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/util/Stopwatch.java
  57. 4
      jtt808-server/src/main/java/io/github/yezhihao/netmc/util/VirtualList.java
  58. 4
      jtt808-server/src/main/java/org/yzh/protocol/basics/JTMessage.java
  59. 4
      jtt808-server/src/main/java/org/yzh/protocol/basics/JTMessageFilter.java
  60. 4
      jtt808-server/src/main/java/org/yzh/protocol/codec/DataFrameMessageDecoder.java
  61. 4
      jtt808-server/src/main/java/org/yzh/protocol/codec/JTMessageAdapter.java
  62. 4
      jtt808-server/src/main/java/org/yzh/protocol/codec/JTMessageDecoder.java
  63. 4
      jtt808-server/src/main/java/org/yzh/protocol/codec/JTMessageEncoder.java
  64. 4
      jtt808-server/src/main/java/org/yzh/protocol/codec/MultiPacket.java
  65. 4
      jtt808-server/src/main/java/org/yzh/protocol/codec/MultiPacketDecoder.java
  66. 4
      jtt808-server/src/main/java/org/yzh/protocol/codec/MultiPacketListener.java
  67. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/Action.java
  68. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/Bit.java
  69. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/Charsets.java
  70. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/JSATL12.java
  71. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/JT1078.java
  72. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/JT808.java
  73. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/MessageId.java
  74. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/Shape.java
  75. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/ShapeAction.java
  76. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/AttributeConverter.java
  77. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/AttributeConverterYue.java
  78. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/AttributeKey.java
  79. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/ParameterConverter.java
  80. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/PassthroughConverter.java
  81. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/parameter/ParamADAS.java
  82. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/parameter/ParamBSD.java
  83. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/parameter/ParamChannels.java
  84. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/parameter/ParamDSM.java
  85. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/parameter/ParamImageIdentifyAlarm.java
  86. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/parameter/ParamSleepWake.java
  87. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/parameter/ParamTPMS.java
  88. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/parameter/ParamVideo.java
  89. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/parameter/ParamVideoSingle.java
  90. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/parameter/ParamVideoSpecialAlarm.java
  91. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/parameter/TimeRange.java
  92. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/passthrough/PeripheralStatus.java
  93. 4
      jtt808-server/src/main/java/org/yzh/protocol/commons/transform/passthrough/PeripheralSystem.java
  94. 4
      jtt808-server/src/main/java/org/yzh/protocol/jsatl12/DataPacket.java
  95. 4
      jtt808-server/src/main/java/org/yzh/protocol/jsatl12/T1210.java
  96. 4
      jtt808-server/src/main/java/org/yzh/protocol/jsatl12/T1211.java
  97. 4
      jtt808-server/src/main/java/org/yzh/protocol/jsatl12/T9208.java
  98. 4
      jtt808-server/src/main/java/org/yzh/protocol/jsatl12/T9212.java
  99. 4
      jtt808-server/src/main/java/org/yzh/protocol/t1078/T1003.java
  100. 4
      jtt808-server/src/main/java/org/yzh/protocol/t1078/T1005.java
  101. Some files were not shown because too many files have changed in this diff Show More

@ -4,7 +4,6 @@
<p> <p>
<img src="https://img.shields.io/badge/JDK-1.8+-green.svg"/> <img src="https://img.shields.io/badge/JDK-1.8+-green.svg"/>
<img src="https://img.shields.io/badge/License-Apache 2.0-green.svg"/> <img src="https://img.shields.io/badge/License-Apache 2.0-green.svg"/>
<img src="https://img.shields.io/badge/QQ群-323100134-blue"/>
</p> </p>
# 项目介绍 # 项目介绍
@ -35,10 +34,6 @@
备注:无需手动配置,同时兼容2011、2013、2019协议版本,支持分包请求、分包应答及超时分包补传。 备注:无需手动配置,同时兼容2011、2013、2019协议版本,支持分包请求、分包应答及超时分包补传。
1078协议支持音视频指令,流媒体服务需自行搭建。 1078协议支持音视频指令,流媒体服务需自行搭建。
# 代码仓库
* Gitee仓库地址:[https://gitee.com/yezhihao/jt808-server/tree/master](https://gitee.com/yezhihao/jt808-server/tree/master)
* Github仓库地址:[https://github.com/yezhihao/jt808-server/tree/master](https://github.com/yezhihao/jt808-server/tree/master)
# 演示 # 演示
* 设备接入:127.0.0.1:7611 * 设备接入:127.0.0.1:7611
* 日志监控:http://127.0.0.1:8000/ws.html * 日志监控:http://127.0.0.1:8000/ws.html
@ -232,36 +227,5 @@ public class JT808Controller {
│ └── StressTest 压力测试 │ └── StressTest 压力测试
``` ```
项目创立于2017年9月,至今,jt808-server已接入多家公司的线上产品线,接入场景如车辆管理平台,IOT业务和大数据作业等,截止最新统计时间为止,jt808-server已接入的公司包括不限于:
- 1.福建九桃贸易有限公司
- 2.深圳市特维视科技有限公司
- 3.厦门河联信息科技有限公司
- 4.北京华盾互联科技有限公司
- 5.宜昌华维物流有限责任公司
- 6.江苏推米信息科技有限公司
- 7.山东六度信息科技有限公司
- 8.亚信创新技术(南京)有限公司
- 9.无锡创趣网络科技有限公司
- 10.新疆智联云信息科技有限公司
- 11.杭州品铂科技有限公司
- 12.萍乡萍钢安源钢铁有限公司
- 13.承德统凯网络科技有限公司
- ……
> 更多接入的公司,欢迎在 [登记地址](https://gitee.com/yezhihao/jt808-server/issues/I36WKD ) 登记,登记仅仅为了项目推广(登记后可提供一次技术支持)。
欢迎大家的关注和使用,jt808-server也将拥抱变化,持续发展。
项目会不定期进行更新,建议star和watch一份,您的支持是我最大的动力。
如有任何疑问或者BUG,请联系我,非常感谢。
另提供技术支持、协议扩展、数据入库、二次开发等服务。
项目负责人QQ:[1527621790]
技术交流QQ群:[323100134]
- JT808泛指JT/T808协议,是指交通部制定的运输行业通信标准,全称《交通运输行业标准 - 道路运输车辆卫星定位系统终端通信协议及数据格式》 - JT808泛指JT/T808协议,是指交通部制定的运输行业通信标准,全称《交通运输行业标准 - 道路运输车辆卫星定位系统终端通信协议及数据格式》

@ -28,5 +28,4 @@ public interface BusinessConstant {
* jtt1078服务IP地址 * jtt1078服务IP地址
*/ */
String JTT1078_SERVER_HOST = "112.6.27.89"; String JTT1078_SERVER_HOST = "112.6.27.89";
// String JTT1078_SERVER_HOST = "192.168.1.106";
} }

@ -2,8 +2,8 @@ package org.yzh.commons.model;
/** /**
* 响应状态枚举类接口 * 响应状态枚举类接口
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface APICode { public interface APICode {

@ -2,8 +2,8 @@ package org.yzh.commons.model;
/** /**
* 响应状态枚举类 * 响应状态枚举类
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public enum APICodes implements APICode { public enum APICodes implements APICode {

@ -1,8 +1,8 @@
package org.yzh.commons.model; package org.yzh.commons.model;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class APIException extends RuntimeException { public class APIException extends RuntimeException {

@ -5,8 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
import org.yzh.commons.util.StrUtils; import org.yzh.commons.util.StrUtils;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class APIResult<T> { public class APIResult<T> {

@ -1,8 +1,8 @@
package org.yzh.commons.model; package org.yzh.commons.model;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class Result<T> { public class Result<T> {

@ -2,8 +2,8 @@ package org.yzh.commons.util;
/** /**
* 坐标系转换器 * 坐标系转换器
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@FunctionalInterface @FunctionalInterface
public interface Converter { public interface Converter {

@ -4,8 +4,8 @@ package org.yzh.commons.util;
* WGS-84 GPS坐标谷歌地图国外 * WGS-84 GPS坐标谷歌地图国外
* GCJ-02 国测局坐标谷歌地图国内高德地图腾讯地图 * GCJ-02 国测局坐标谷歌地图国内高德地图腾讯地图
* BD-09 百度坐标百度地图 * BD-09 百度坐标百度地图
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class CoordTransform { public class CoordTransform {

@ -2,8 +2,8 @@ package org.yzh.commons.util;
/** /**
* 坐标系枚举 * 坐标系枚举
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public enum CoordType { public enum CoordType {

@ -9,8 +9,8 @@ import java.time.temporal.TemporalQueries;
import java.time.temporal.TemporalQuery; import java.time.temporal.TemporalQuery;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class DateUtils { public class DateUtils {

@ -10,8 +10,8 @@ import java.security.SecureRandom;
/** /**
* 加密工具类 * 加密工具类
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class EncryptUtils { public class EncryptUtils {

@ -2,8 +2,8 @@ package org.yzh.commons.util;
/** /**
* 几何图形工具类 * 几何图形工具类
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class GeomUtils { public class GeomUtils {

@ -8,8 +8,8 @@ import java.nio.charset.StandardCharsets;
import java.util.function.Function; import java.util.function.Function;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class IOUtils { public class IOUtils {

@ -24,8 +24,8 @@ import java.time.LocalTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class JsonUtils { public class JsonUtils {

@ -5,8 +5,8 @@ import java.io.StringWriter;
import java.util.*; import java.util.*;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class StrUtils { public class StrUtils {

@ -12,8 +12,8 @@ import io.netty.util.NettyRuntime;
import io.netty.util.internal.ObjectUtil; import io.netty.util.internal.ObjectUtil;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class NettyConfig { public class NettyConfig {

@ -9,8 +9,8 @@ import org.slf4j.LoggerFactory;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public abstract class Server { public abstract class Server {

@ -18,8 +18,8 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class TCPServer extends Server { public class TCPServer extends Server {

@ -17,8 +17,8 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class UDPServer extends Server { public class UDPServer extends Server {

@ -1,8 +1,8 @@
package io.github.yezhihao.netmc.codec; package io.github.yezhihao.netmc.codec;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class Delimiter { public class Delimiter {
public final byte[] value; public final byte[] value;

@ -4,8 +4,8 @@ import static io.netty.util.internal.ObjectUtil.checkPositive;
import static io.netty.util.internal.ObjectUtil.checkPositiveOrZero; import static io.netty.util.internal.ObjectUtil.checkPositiveOrZero;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class LengthField { public class LengthField {
public final byte[] prefix; public final byte[] prefix;

@ -6,8 +6,8 @@ import io.netty.buffer.ByteBuf;
/** /**
* 基础消息解码 * 基础消息解码
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface MessageDecoder<T extends Message> { public interface MessageDecoder<T extends Message> {

@ -5,8 +5,8 @@ import io.netty.buffer.ByteBuf;
/** /**
* 基础消息编码 * 基础消息编码
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface MessageEncoder<T> { public interface MessageEncoder<T> {

@ -13,8 +13,8 @@ import java.util.Map;
/** /**
* 消息处理映射 * 消息处理映射
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public abstract class AbstractHandlerMapping implements HandlerMapping { public abstract class AbstractHandlerMapping implements HandlerMapping {

@ -6,8 +6,8 @@ import io.github.yezhihao.netmc.util.ClassUtils;
import java.util.List; import java.util.List;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class DefaultHandlerMapping extends AbstractHandlerMapping { public class DefaultHandlerMapping extends AbstractHandlerMapping {

@ -5,8 +5,8 @@ import io.github.yezhihao.netmc.session.Session;
/** /**
* 消息拦截器 * 消息拦截器
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface HandlerInterceptor<T extends Message> { public interface HandlerInterceptor<T extends Message> {
/** @return Response 未找到对应的Handle */ /** @return Response 未找到对应的Handle */

@ -4,8 +4,8 @@ import io.github.yezhihao.netmc.core.handler.Handler;
/** /**
* 消息映射接口 * 消息映射接口
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface HandlerMapping { public interface HandlerMapping {

@ -8,8 +8,8 @@ import org.springframework.context.ApplicationContextAware;
import java.util.Map; import java.util.Map;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class SpringHandlerMapping extends AbstractHandlerMapping implements ApplicationContextAware { public class SpringHandlerMapping extends AbstractHandlerMapping implements ApplicationContextAware {

@ -4,8 +4,8 @@ import java.lang.annotation.*;
/** /**
* 异步消息处理该注解的用户代码将运行在业务线程组(businessGroup) * 异步消息处理该注解的用户代码将运行在业务线程组(businessGroup)
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@Target({ElementType.METHOD}) @Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)

@ -4,8 +4,8 @@ import java.lang.annotation.*;
/** /**
* 异步消息批量处理该注解的用户代码将运行在独立的线程组 * 异步消息批量处理该注解的用户代码将运行在独立的线程组
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@Target({ElementType.METHOD}) @Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)

@ -4,8 +4,8 @@ import java.lang.annotation.*;
/** /**
* 消息接入点 * 消息接入点
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@Target({ElementType.TYPE}) @Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)

@ -4,8 +4,8 @@ import java.lang.annotation.*;
/** /**
* 消息类型映射 * 消息类型映射
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@Target({ElementType.METHOD}) @Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)

@ -15,8 +15,8 @@ import java.util.concurrent.Executors;
/** /**
* 异步批量处理 * 异步批量处理
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class AsyncBatchHandler extends Handler { public class AsyncBatchHandler extends Handler {

@ -8,8 +8,8 @@ import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type; import java.lang.reflect.Type;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public abstract class Handler { public abstract class Handler {

@ -7,8 +7,8 @@ import java.lang.reflect.Method;
/** /**
* 同步处理 * 同步处理
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class SimpleHandler extends Handler { public class SimpleHandler extends Handler {

@ -4,8 +4,8 @@ import java.io.Serializable;
/** /**
* 消息体 * 消息体
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface Message extends Serializable { public interface Message extends Serializable {

@ -1,8 +1,8 @@
package io.github.yezhihao.netmc.core.model; package io.github.yezhihao.netmc.core.model;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface Response { public interface Response {

@ -13,8 +13,8 @@ import java.util.List;
import static io.netty.util.internal.ObjectUtil.checkPositive; import static io.netty.util.internal.ObjectUtil.checkPositive;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class DelimiterBasedFrameDecoder extends ByteToMessageDecoder { public class DelimiterBasedFrameDecoder extends ByteToMessageDecoder {

@ -16,8 +16,8 @@ import org.slf4j.LoggerFactory;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@ChannelHandler.Sharable @ChannelHandler.Sharable
public class DispatcherHandler extends ChannelInboundHandlerAdapter { public class DispatcherHandler extends ChannelInboundHandlerAdapter {

@ -14,8 +14,8 @@ import org.slf4j.LoggerFactory;
/** /**
* 基础消息解码 * 基础消息解码
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@ChannelHandler.Sharable @ChannelHandler.Sharable
public class MessageDecoderWrapper extends ChannelInboundHandlerAdapter { public class MessageDecoderWrapper extends ChannelInboundHandlerAdapter {

@ -14,8 +14,8 @@ import org.slf4j.LoggerFactory;
/** /**
* 基础消息编码 * 基础消息编码
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@ChannelHandler.Sharable @ChannelHandler.Sharable
public class MessageEncoderWrapper extends ChannelOutboundHandlerAdapter { public class MessageEncoderWrapper extends ChannelOutboundHandlerAdapter {

@ -20,9 +20,6 @@ import java.io.IOException;
/** /**
* TCP消息适配器 * TCP消息适配器
*
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@ChannelHandler.Sharable @ChannelHandler.Sharable
public class TCPMessageAdapter extends ChannelInboundHandlerAdapter { public class TCPMessageAdapter extends ChannelInboundHandlerAdapter {
@ -69,7 +66,7 @@ public class TCPMessageAdapter extends ChannelInboundHandlerAdapter {
session.invalidate(); session.invalidate();
} }
log.warn(">>>>> Disconnected clientId = {} , address = {}", clientId, client(ctx)); log.info(">>>>> Disconnected clientId = {} , address = {}", clientId, client(ctx));
// 若掉线设备为当前推流设备, 或无推流设备, 但当前有在线设备, 调用推流方法, 发送推流 // 若掉线设备为当前推流设备, 或无推流设备, 但当前有在线设备, 调用推流方法, 发送推流
if ((clientId.equals(BusinessCacheUtil.getCurrentPushDevice()) if ((clientId.equals(BusinessCacheUtil.getCurrentPushDevice())

@ -23,8 +23,8 @@ import java.util.concurrent.TimeUnit;
/** /**
* UDP消息适配器 * UDP消息适配器
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@ChannelHandler.Sharable @ChannelHandler.Sharable
public class UDPMessageAdapter extends ChannelInboundHandlerAdapter { public class UDPMessageAdapter extends ChannelInboundHandlerAdapter {

@ -5,8 +5,8 @@ import io.netty.buffer.ByteBuf;
import io.netty.channel.socket.DatagramPacket; import io.netty.channel.socket.DatagramPacket;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public abstract class Packet { public abstract class Packet {

@ -18,8 +18,8 @@ import java.util.function.Function;
import java.util.function.IntUnaryOperator; import java.util.function.IntUnaryOperator;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class Session { public class Session {

@ -1,8 +1,8 @@
package io.github.yezhihao.netmc.session; package io.github.yezhihao.netmc.session;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface SessionListener { public interface SessionListener {

@ -14,8 +14,8 @@ import java.util.concurrent.TimeUnit;
import java.util.function.Function; import java.util.function.Function;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class SessionManager { public class SessionManager {

@ -6,8 +6,8 @@ import java.util.Iterator;
import java.util.function.Function; import java.util.function.Function;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public final class AdapterCollection<S, T> extends AbstractCollection<T> { public final class AdapterCollection<S, T> extends AbstractCollection<T> {

@ -5,8 +5,8 @@ import java.util.List;
import java.util.function.Function; import java.util.function.Function;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public final class AdapterList<S, T> extends AbstractList<T> { public final class AdapterList<S, T> extends AbstractList<T> {

@ -6,8 +6,8 @@ import java.util.Set;
import java.util.function.Function; import java.util.function.Function;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public final class AdapterMap<K, S, T> extends AbstractMap<K, T> { public final class AdapterMap<K, S, T> extends AbstractMap<K, T> {

@ -6,8 +6,8 @@ import java.util.Set;
import java.util.function.Function; import java.util.function.Function;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public final class AdapterSet<S, T> extends AbstractSet<T> { public final class AdapterSet<S, T> extends AbstractSet<T> {

@ -3,8 +3,8 @@ package io.github.yezhihao.netmc.util;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class ByteBufUtils { public class ByteBufUtils {

@ -11,8 +11,8 @@ import java.util.jar.JarEntry;
import java.util.jar.JarFile; import java.util.jar.JarFile;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class ClassUtils { public class ClassUtils {

@ -10,8 +10,8 @@ import java.net.Socket;
import java.util.function.BiFunction; import java.util.function.BiFunction;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface Client extends Closeable { public interface Client extends Closeable {

@ -3,8 +3,8 @@ package io.github.yezhihao.netmc.util;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class Stopwatch { public class Stopwatch {

@ -6,8 +6,8 @@ import java.util.function.Consumer;
import java.util.function.UnaryOperator; import java.util.function.UnaryOperator;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class VirtualList<E> extends AbstractList<E> implements RandomAccess, Serializable { public class VirtualList<E> extends AbstractList<E> implements RandomAccess, Serializable {

@ -10,8 +10,8 @@ import org.yzh.protocol.commons.MessageId;
import java.beans.Transient; import java.beans.Transient;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class JTMessage implements Message { public class JTMessage implements Message {

@ -1,8 +1,8 @@
package org.yzh.protocol.basics; package org.yzh.protocol.basics;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface JTMessageFilter<T extends JTMessage> { public interface JTMessageFilter<T extends JTMessage> {

@ -9,8 +9,8 @@ import org.yzh.protocol.jsatl12.DataPacket;
/** /**
* 数据帧解码器 * 数据帧解码器
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class DataFrameMessageDecoder extends JTMessageDecoder { public class DataFrameMessageDecoder extends JTMessageDecoder {

@ -16,8 +16,8 @@ import org.yzh.protocol.commons.JT1078;
/** /**
* JT消息编解码适配器 * JT消息编解码适配器
* *
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class JTMessageAdapter implements MessageEncoder<JTMessage>, MessageDecoder<JTMessage> { public class JTMessageAdapter implements MessageEncoder<JTMessage>, MessageDecoder<JTMessage> {

@ -14,8 +14,8 @@ import java.util.List;
/** /**
* JT协议解码器 * JT协议解码器
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class JTMessageDecoder { public class JTMessageDecoder {

@ -14,8 +14,8 @@ import java.util.LinkedList;
/** /**
* JT协议编码器 * JT协议编码器
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class JTMessageEncoder { public class JTMessageEncoder {

@ -10,8 +10,8 @@ import java.util.List;
/** /**
* 分包消息 * 分包消息
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class MultiPacket { public class MultiPacket {

@ -13,8 +13,8 @@ import java.util.concurrent.ConcurrentHashMap;
/** /**
* 分包消息管理 * 分包消息管理
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class MultiPacketDecoder extends JTMessageDecoder { public class MultiPacketDecoder extends JTMessageDecoder {

@ -2,8 +2,8 @@ package org.yzh.protocol.codec;
/** /**
* 分包消息监听器 * 分包消息监听器
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class MultiPacketListener { public class MultiPacketListener {

@ -1,8 +1,8 @@
package org.yzh.protocol.commons; package org.yzh.protocol.commons;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface Action { public interface Action {

@ -6,8 +6,8 @@ package org.yzh.protocol.commons;
* & 同为1返回1 * & 同为1返回1
* | 其中一个为1返回1 * | 其中一个为1返回1
* ^异或 相同为0不同为1 * ^异或 相同为0不同为1
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class Bit { public class Bit {

@ -3,8 +3,8 @@ package org.yzh.protocol.commons;
import java.nio.charset.Charset; import java.nio.charset.Charset;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class Charsets { public class Charsets {

@ -3,8 +3,8 @@ package org.yzh.protocol.commons;
/** /**
* 江苏省团体标准 * 江苏省团体标准
* 道路运输车辆主动安全智能防控系统(通讯协议规范) * 道路运输车辆主动安全智能防控系统(通讯协议规范)
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface JSATL12 { public interface JSATL12 {

@ -3,8 +3,8 @@ package org.yzh.protocol.commons;
/** /**
* 中华人民共和国交通运输行业标准 * 中华人民共和国交通运输行业标准
* 道路运输车辆卫星定位系统视频通信协议 * 道路运输车辆卫星定位系统视频通信协议
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface JT1078 { public interface JT1078 {

@ -3,8 +3,8 @@ package org.yzh.protocol.commons;
/** /**
* 中华人民共和国交通运输行业标准 * 中华人民共和国交通运输行业标准
* 道路运输车辆卫星定位系统终端通信协议 * 道路运输车辆卫星定位系统终端通信协议
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface JT808 { public interface JT808 {

@ -10,8 +10,8 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class MessageId { public class MessageId {

@ -2,8 +2,8 @@ package org.yzh.protocol.commons;
/** /**
* 区域类型 * 区域类型
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public final class Shape { public final class Shape {

@ -1,8 +1,8 @@
package org.yzh.protocol.commons; package org.yzh.protocol.commons;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface ShapeAction { public interface ShapeAction {

@ -8,8 +8,8 @@ import org.yzh.protocol.commons.transform.attribute.*;
/** /**
* 位置附加信息转换器(苏标) * 位置附加信息转换器(苏标)
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class AttributeConverter extends MapSchema<Number, Object> { public class AttributeConverter extends MapSchema<Number, Object> {

@ -8,8 +8,8 @@ import org.yzh.protocol.commons.transform.attribute.*;
/** /**
* 位置附加信息转换器(粤标) * 位置附加信息转换器(粤标)
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class AttributeConverterYue extends MapSchema<Number, Object> { public class AttributeConverterYue extends MapSchema<Number, Object> {

@ -2,8 +2,8 @@ package org.yzh.protocol.commons.transform;
/** /**
* 位置附加信息 * 位置附加信息
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public interface AttributeKey { public interface AttributeKey {
Integer Mileage = 1; // 0x01 里程,数据类型为DWORD,单位为1/10km,对应车上里程表读数 Integer Mileage = 1; // 0x01 里程,数据类型为DWORD,单位为1/10km,对应车上里程表读数

@ -9,8 +9,8 @@ import org.yzh.protocol.commons.transform.parameter.*;
/** /**
* 终端参数项转换器 * 终端参数项转换器
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class ParameterConverter extends MapSchema<Number, Object> { public class ParameterConverter extends MapSchema<Number, Object> {

@ -9,8 +9,8 @@ import org.yzh.protocol.commons.transform.passthrough.PeripheralSystem;
/** /**
* 透传消息转换器 * 透传消息转换器
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class PassthroughConverter extends MapSchema<Number, Object> { public class PassthroughConverter extends MapSchema<Number, Object> {

@ -6,8 +6,8 @@ import io.netty.buffer.ByteBuf;
/** /**
* 高级驾驶辅助系统参数 * 高级驾驶辅助系统参数
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class ParamADAS { public class ParamADAS {

@ -6,8 +6,8 @@ import io.netty.buffer.ByteBuf;
/** /**
* 盲区监测系统参数 * 盲区监测系统参数
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class ParamBSD { public class ParamBSD {

@ -9,8 +9,8 @@ import java.util.List;
/** /**
* 音视频通道列表设置 * 音视频通道列表设置
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class ParamChannels { public class ParamChannels {

@ -6,8 +6,8 @@ import io.netty.buffer.ByteBuf;
/** /**
* 驾驶员状态监测系统参数 * 驾驶员状态监测系统参数
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class ParamDSM { public class ParamDSM {

@ -6,8 +6,8 @@ import io.netty.buffer.ByteBuf;
/** /**
* 图像分析报警参数设置 * 图像分析报警参数设置
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class ParamImageIdentifyAlarm { public class ParamImageIdentifyAlarm {

@ -10,8 +10,8 @@ import static io.github.yezhihao.protostar.util.DateTool.BCD;
/** /**
* 终端休眠唤醒模式设置数据格式 * 终端休眠唤醒模式设置数据格式
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class ParamSleepWake { public class ParamSleepWake {

@ -9,8 +9,8 @@ import java.nio.charset.StandardCharsets;
/** /**
* 胎压监测系统参数 * 胎压监测系统参数
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class ParamTPMS { public class ParamTPMS {

@ -6,8 +6,8 @@ import io.netty.buffer.ByteBuf;
/** /**
* 音视频参数设置 * 音视频参数设置
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class ParamVideo { public class ParamVideo {

@ -9,8 +9,8 @@ import java.util.TreeMap;
/** /**
* 单独视频通道参数设置 * 单独视频通道参数设置
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class ParamVideoSingle { public class ParamVideoSingle {

@ -6,8 +6,8 @@ import io.netty.buffer.ByteBuf;
/** /**
* 特殊报警录像参数设置 * 特殊报警录像参数设置
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class ParamVideoSpecialAlarm { public class ParamVideoSpecialAlarm {

@ -8,8 +8,8 @@ import java.time.LocalTime;
import static io.github.yezhihao.protostar.util.DateTool.BCD; import static io.github.yezhihao.protostar.util.DateTool.BCD;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class TimeRange { public class TimeRange {

@ -8,8 +8,8 @@ import java.util.List;
/** /**
* 状态查询 * 状态查询
* 外设状态信息外设工作状态设备报警信息 * 外设状态信息外设工作状态设备报警信息
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class PeripheralStatus { public class PeripheralStatus {

@ -9,8 +9,8 @@ import java.util.List;
/** /**
* 信息查询 * 信息查询
* 外设传感器的基本信息公司信息产品代码版本号外设ID客户代码 * 外设传感器的基本信息公司信息产品代码版本号外设ID客户代码
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
public class PeripheralSystem { public class PeripheralSystem {

@ -8,8 +8,8 @@ import org.yzh.protocol.basics.JTMessage;
/** /**
* 文件数据上传 * 文件数据上传
* 帧头标识 0x30 0x31 0x63 0x64 * 帧头标识 0x30 0x31 0x63 0x64
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@Message @Message
public class DataPacket extends JTMessage { public class DataPacket extends JTMessage {

@ -10,8 +10,8 @@ import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@Message(JSATL12.报警附件信息消息) @Message(JSATL12.报警附件信息消息)
public class T1210 extends JTMessage { public class T1210 extends JTMessage {

@ -6,8 +6,8 @@ import org.yzh.protocol.basics.JTMessage;
import org.yzh.protocol.commons.JSATL12; import org.yzh.protocol.commons.JSATL12;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@Message({JSATL12.文件信息上传, JSATL12.文件上传完成消息}) @Message({JSATL12.文件信息上传, JSATL12.文件上传完成消息})
public class T1211 extends JTMessage { public class T1211 extends JTMessage {

@ -8,8 +8,8 @@ import org.yzh.protocol.commons.JSATL12;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@Message(JSATL12.报警附件上传指令) @Message(JSATL12.报警附件上传指令)
public class T9208 extends JTMessage { public class T9208 extends JTMessage {

@ -6,8 +6,8 @@ import org.yzh.protocol.basics.JTMessage;
import org.yzh.protocol.commons.JSATL12; import org.yzh.protocol.commons.JSATL12;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@Message(JSATL12.文件上传完成消息应答) @Message(JSATL12.文件上传完成消息应答)
public class T9212 extends JTMessage { public class T9212 extends JTMessage {

@ -6,8 +6,8 @@ import org.yzh.protocol.basics.JTMessage;
import org.yzh.protocol.commons.JT1078; import org.yzh.protocol.commons.JT1078;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@Message(JT1078.终端上传音视频属性) @Message(JT1078.终端上传音视频属性)
public class T1003 extends JTMessage { public class T1003 extends JTMessage {

@ -6,8 +6,8 @@ import org.yzh.protocol.basics.JTMessage;
import org.yzh.protocol.commons.JT1078; import org.yzh.protocol.commons.JT1078;
/** /**
* @author yezhihao
* https://gitee.com/yezhihao/jt808-server
*/ */
@Message(JT1078.终端上传乘客流量) @Message(JT1078.终端上传乘客流量)
public class T1005 extends JTMessage { public class T1005 extends JTMessage {

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save