小编Roc*_*wan的帖子

从生物特征指纹考勤机中检索数据

我正在尝试使用Java程序与生物特征指纹考勤设备连接。我正在使用的设备是Pegasus T5指纹扫描仪。不幸的是,他们针对该设备的SDK(可以在此处下载)仅涵盖C#、. Net和VB,而我没有专门知识。当我要求制造商时,他们回答说该设备没有Java SDK。即使我不了解这些语言中的任何一种,我仍然尝试理解SDK中的代码,以查找设备的连接方式,并且我发现它只是使用网络ip和端口与设备建立连接。数。

如果引用设备的C#SDK,则可以在frmEvent.cs上看到我在此看到的示例,该示例 中的cmdStartMoniter_Click方法按如下所示进行连接。

bRet = bpc.StartEventCapture(0, util.pubIPAddrToLong(txtSourceIP.Text), Convert.ToInt32(txtPortNumber.Text));
Run Code Online (Sandbox Code Playgroud)

这是指该方法出现在.dll文件中的方法StartEventCapturepublic virtual bool StartEventCapture(int dwCommType, int dwParam1, int dwParam2);并且由于我对如何弄清楚代码有进一步的了解,因此我迷失了方向。

不管怎样,我都想着这个例子,下一步,我开始研究有关如何使用指纹设备进行连接,发送和检索数据的全球标准,但我再次没有足够的幸运找到一个清晰的解决方案。但是,在一些尝试处理相同问题的人的一些示例以及我自己看到的示例中,我尝试通过创建Socket对象来与设备连接,但是当我执行该对象时,它只能通过java.net.ConnectException: Connection timed out: connect

有四个问题

  1. 是否有可用于我的生物识别指纹考勤设备的Java SDK?
  2. 有没有使用Java从此类设备连接,发送和检索数据的通用,标准方法?
  3. 如果通过a连接到设备Socket是一种解决方案,那么我应该向该设备发送任何具体的标准请求,以便接收来自该设备的响应吗?
  4. 如果我尝试这样做是一种方法,那么我做错了什么,应该如何纠正该问题?

这是我用来连接设备的代码。

    String host = "192.168.168.100";
    int port = Integer.parseInt("5005");

    try {
        Socket socket = new Socket(host, port);
        BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

        String line; …
Run Code Online (Sandbox Code Playgroud)

java sockets networking biometrics fingerprint

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

biometrics ×1

fingerprint ×1

java ×1

networking ×1

sockets ×1