我想与考勤设备通信以读取存储的时间,并且有以下顾虑:
有没有什么解决方法可以发现连接端口或类型?
此类设备是否有任何特定的通信外壳或编程语言,如调制解调器的 AT 命令,如果有,此类设备是否存在任何开发环境?
是否可以通过TCP/IP模拟串行数据流?
是否可以直接读取其接口后面的内存或者直接写入其内存?
该设备基于 IP,原始软件设置使用 COM1 端口。我的理解是,通信时可能会使用 tc400.dll miflink.dll mormam.dll mtmlink.dll borlndmm.dll。
答案1
我想与考勤设备通信
适当的方法是联系特定设备的制造商,询问他们是否为其设备提供已发布的第三方 API 以及是否提供开发人员支持计划。
有没有什么解决方法可以发现连接端口或类型?
一个典型的工具是nmap- 免费网络映射器。还有其他工具。请勿在您不拥有或未获得明确映射许可(最好是书面许可)的任何网络上使用此工具。未经许可在公司网络中滥用这些工具的人通常会留下犯罪记录。
是否有任何特定的通信外壳或编程语言用于此类设备,如调制解调器的 AT 命令
据我所知,目前全球尚无专门针对考勤设备的事实上或法定标准。
是否可以通过TCP/IP模拟串行数据流?
是的,这很常见,并且为此目的定义了几种协议。例如远程登录基本上取代了 RS232 串行通信。SSH 基本上取代了 Telnet。还有许多其他类似的双向字符和面向行的协议以及简单的双向直接 TCP 连接的示例。许多(如果不是大多数)互联网协议都建立在简单的双向 TCP 连接之上,其运行方式有点像 RS232 串行连接。主要区别在于缺少单独的控制线,用于控制诸如流量控制和端点状态之类的内容 - 与主数据流分开。
还存在(嗯,曾经存在)硬件设备,允许您将串行设备连接到 TCP/IP 网络。它们通常被称为终端服务器。
是否可以直接读取其接口后面的内存或者直接写入其内存?
这完全取决于特定设备明确设计用于提供哪些功能。您没有提到特定设备,因此一般答案是“大多不是”。