交通部809协议JAVA实现的接收车辆GPS数据的服务端代码


本项目使用JAVA + MINA + ServiceLoader实现交通部809协议服务端代码。代码中完成了主链路部分,包括对客户端登录验证及应答,注销及应答,保持连接及应答,接收实时定位数据及历史定位数据等。如果扩充新业务只需要实现SocketMsgHandler接口即可。因第三方厂商没有对数据加密,故本项目没有写数据解密逻辑。
本项目接收数据逻辑已上线测试,能够正常收到下级平台上传的车辆定位数据。
资源截图
代码片段和文件信息
package grandland.glits.vehicle.gps;

import grandland.glits.vehicle.gps.service.VehicleLocationService;
import grandland.glits.vehicle.gps.socket.SocketServer;
import grandland.glits.vehicle.gps.util.ConfigureUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * JTT809Server
 */
public class JTT809Server {
    public static final Logger LOG = LoggerFactory.getLogger(JTT809Server.class);

    private static final int PORT = ConfigureUtil.getProperties(ConfigureUtil.PropertiesKey.SERVER_PORT 8386);
    private static final int SERVICE_THREAD_NUM = ConfigureUtil.getProperties(ConfigureUtil.PropertiesKey.SERVICE_THTEAD_NUM 1);

    private VehicleLocationService[] services;

    public static void main(String[] args) throws Exception {

        SocketServer.getInstance(PORT).startServer();
        LOG.info(“JTT809Server start listen port: {}“ PORT);

        final JTT809Server jtt809Server = new JTT809Server();
        Runtime.getRuntime().addShutdownHook(new Thread() {
            public void run() {
                jtt809Server.stop();
            }
        });
        jtt809Server.start();
    }


    public void start() throws ClassNotFoundException {
        services = new VehicleLocationService[SERVICE_THREAD_NUM];
        for (int i = 0; i < SERVICE_THREAD_NUM; ++i) {
            services[i] = new VehicleLocationService();
            services[i].setName(String.valueOf(i));
            services[i].start();
        }
    }

    public void stop() {
        for (int i = 0; i < SERVICE_THREAD_NUM; ++i) {
            if (services[i] != null) {
                services[i].stop();
            }
        }
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-12-22 21:39  gl-vehicle-gps
     目录           0  2019-12-22 21:38  gl-vehicle-gpsuild
     文件         441  2019-12-22 19:35  gl-vehicle-gpsuild.gradle
     目录           0  2019-12-22 21:38  gl-vehicle-gpsuildclasses
     目录           0  2019-12-22 21:38  gl-vehicle-gpsuildclassesmain
     目录           0  2019-12-22 21:38  gl-vehicle-gpsuildclassesmaingrandland
     目录           0  2019-12-22 21:38  gl-vehicle-gpsuildclassesmaingrandlandglits
     目录           0  2019-12-22 21:38  gl-vehicle-gpsuildclassesmaingrandlandglitsvehicle
     目录           0  2019-12-22 21:38  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegps
     目录           0  2019-12-22 21:38  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsclient
     文件        4920  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsclientComData4Ztc.class
     文件         950  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsclientILocationService.class
     文件        3325  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsclientLocation.class
     文件        2496  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsclientobjectFactory.class
     文件         282  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsclientpackage-info.class
     文件         954  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsclientWriteLocationInfo.class
     文件         897  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsclientWriteLocationInfoResponse.class
     目录           0  2019-12-22 21:38  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsdomain
     文件        1850  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsdomainTXZInfo.class
     文件        3175  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsdomainVehicle.class
     文件        2955  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsdomainYYZInfo.class
     目录           0  2019-12-22 21:38  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsentity
     文件        3761  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsentityVehicleLocation.class
     文件         689  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsJTT809Server$1.class
     文件        2600  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsJTT809Server.class
     目录           0  2019-12-22 21:38  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsmanager
     文件         192  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsmanagerIManager.class
     文件        2498  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsmanagerManagerRegistry.class
     文件         695  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsmanagerTXZManager$1.class
     文件        4556  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsmanagerTXZManager.class
     文件         754  2019-12-22 20:50  gl-vehicle-gpsuildclassesmaingrandlandglitsvehiclegpsmanagerVehicleManager$1.class
............此处省略154个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)