要对接三家不同的设备,并使用TCP协议进行通信,报文是16进制字符串。您还想开发一个可插拔的Jar热插件,以便为每种设备类型提供不同的解析方法。

首先,您可以创建一个通用的TCP连接类,用于与设备建立TCP连接并发送/接收数据。此类应具有适用于所有设备的共同功能,例如建立连接、发送数据、接收数据等。您可以在此类中使用Java的Socket和InputStream/OutputStream类来实现TCP通信。

针对每种设备类型,您可以创建一个单独的解析类。这些类应实现一个公共接口或继承一个通用的解析类,以确保统一的方法和属性。您可以在这些类中实现特定设备的报文解析逻辑,并将解析后的数据返回给调用者。

接下来,您可以创建一个插件管理器类,用于加载和管理设备解析插件。该类应该具有一个加载插件的方法,该方法可以从指定的目录加载所有可用的插件。您可以使用Java的反射机制来实现这一点,通过动态加载类并实例化对象。

在插件管理器中,您可以定义一个方法,用于根据设备类型获取相应的解析类实例。该方法可以根据设备类型的标识符或其他属性,从已加载的插件中选择正确的解析类,并返回一个实例。

最后,您可以将整个应用程序打包成一个可执行的Jar文件。当需要解析特定设备的报文时,您可以使用插件管理器来获取相应的解析类实例,并调用其解析方法来处理报文数据。

通过这种方式,您可以实现对三种不同设备的TCP通信和报文解析,并且能够灵活地添加和管理新的设备类型

Java 对接三家不同的设备不过都是TCP协议的报文是16进制字符串然后想做jar热插件对每个类型的设备做不同的解析

原文地址: http://www.cveoy.top/t/topic/hOmd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录