Roc*_*wan 5 java sockets networking biometrics fingerprint
我正在尝试使用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文件中的方法StartEventCapture,public virtual bool StartEventCapture(int dwCommType, int dwParam1, int dwParam2);并且由于我对如何弄清楚代码有进一步的了解,因此我迷失了方向。
不管怎样,我都想着这个例子,下一步,我开始研究有关如何使用指纹设备进行连接,发送和检索数据的全球标准,但我再次没有足够的幸运找到一个清晰的解决方案。但是,在一些尝试处理相同问题的人的一些示例以及我自己看到的示例中,我尝试通过创建Socket对象来与设备连接,但是当我执行该对象时,它只能通过java.net.ConnectException: Connection timed out: connect
有四个问题
Socket是一种解决方案,那么我应该向该设备发送任何具体的标准请求,以便接收来自该设备的响应吗?这是我用来连接设备的代码。
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();
}
Run Code Online (Sandbox Code Playgroud)
小智 3
每个生物识别设备通常都有 LAN 端口或 Web 界面。生物识别设备在特定端口上发送数据。例如
192.168.1.23:8080
Run Code Online (Sandbox Code Playgroud)
您可以使用java套接字与其建立连接并可以读取数据..
Socket socket = new Socket("192.168.1.23","8080");
Run Code Online (Sandbox Code Playgroud)
继续努力吧
享受
| 归档时间: |
|
| 查看次数: |
25533 次 |
| 最近记录: |