我正在尝试使用
Java程序连接生物识别指纹考勤设备.我使用的设备是Pegasus T5指纹扫描仪.不幸的是,他们用于此设备的SDK(
which can be downloaded here)仅涵盖了我没有专业知识的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));
并且将StartEventCapture方法称为公共虚拟bool StartEventCapture(int dwCommType,int dwParam1,int dwParam2);它出现在.dll文件中,因为我对如何找出代码有了进一步的了解,所以我已经丢失了.
然而,保持我在脑海中看到的那个例子,作为我的下一步,我开始研究如何使用指纹设备连接,发送和检索数据的全球标准,我再也没有幸运地找到一个明确的解决方案.但是有些人试图处理相同的例子和我自己看到的例子,我试图通过创建一个Socket对象来连接设备,但是当我执行它时,它只产生了java.net .ConnectException:连接超时:连接
有四个问题
>是否有任何用于生物识别指纹考勤设备的Java SDK,我也可以用于我的设备?
>使用Java连接,发送和检索来自此类设备的数据是否有任何通用的标准方法?
>如果通过套接字连接到设备是一种解决方案,是否有任何特定的标准请求我应该发送到设备以便从中接收响应?
>如果我所做的尝试是一种方法,我所做的就是我做错了,我应该如何纠正这个问题?
这是我用来连接设备的代码.
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;
while (true){
line = in.readLine();
if (line != null){
System.out.println(line);
}
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
最佳答案 每个生物制剂设备通常具有lAN端口或Web接口. Biomatric设备在特定端口上发送数据.例如
192.168.1.23:8080
你可以使用java套接字连接到它,并可以读取数据..
Socket socket = new Socket("192.168.1.23","8080");
保持
请享用