Abrufen von Daten aus dem Biometrischen Fingerprint-Anwesenheits-Geräte
Ich versuche zu verbinden mit einer Biometrische Fingerprint Teilnahme Gerät mit einem Java-Programm. Das Gerät, das ich verwende, ist eine Pegasus T5 Fingerabdruck-scanner. Leider ist die SDK für das Gerät (das hier heruntergeladen werden kann) erstreckt sich nur auf C#.Net, VB, ich habe keine Kompetenz. Und wenn ich habe darum gebeten, den Hersteller, haben Sie geantwortet, dass es keine Java SDK für das Gerät. Auch wenn ich kein wissen auf jeder dieser Sprachen, gab ich einen Versuch, zu verstehen, die codes in das SDK, um herauszufinden, wie das Gerät anschließen und ich sah, dass es nur eine Verbindung mit dem Gerät über das Netzwerk-ip-Adresse und port-Nummer.
Wenn Sie beziehen sich auf das C# SDK für das Gerät, können Sie sehen, das Beispiel, das ich sah, auf diese bei
frmEvent.cs, die in der cmdStartMoniter_Click
- Methode, stellen Sie die Verbindung wie folgt.
bRet = bpc.StartEventCapture(0, util.pubIPAddrToLong(txtSourceIP.Text), Convert.ToInt32(txtPortNumber.Text));
Und das bezieht sich auf die Methode StartEventCapture
als public virtual bool StartEventCapture(int dwCommType, int dwParam1, int dwParam2);
ist in einem .dll - Datei, wie es scheint, und die ich verloren habe meine Spur als ich noch mehr wissen, wie um herauszufinden, die code.
Jedoch halten, das Beispiel, das ich gesehen hatte, in meinem Kopf, wie mein Nächster Schritt, ich begann mit der recherche für einen globalen standard, wie verbinden, senden und abrufen von Daten mit einem Fingerabdruck-Gerät vor, die wieder war ich nicht glücklich genug, um eine klare Lösung. Aber mit einigen Beispielen von einigen Menschen, die versucht haben, sich mit denselben, und das Beispiel, das ich sah, von mir, ich habe versucht, zu verbinden mit dem Gerät durch die Schaffung einer Socket
Objekt, aber wenn ich ausgeführt, es entstanden mit der java.net.ConnectException: Connection timed out: connect
Gibt es vier Fragen
- Gibt es eine Java-SDK für die Biometrische Fingerprint Anwesenheits-Geräte, die ich benutzen kann für mein Gerät?
- Ist es keine Allgemeinen standard-Weg, um eine Verbindung, senden und abrufen von Daten aus einem solchen Gerät mit Java?
- Wenn Anschluss an das Gerät über ein
Socket
ist eine Lösung, gibt es eine bestimmte standard-Anforderungen sollte ich schicken, um das Gerät, um eine Antwort zu erhalten? - Wenn der Versuch, den ich gemacht habe, ist ein Weg, es zu tun, was hab ich falsch gemacht und wie sollte ich das problem beheben?
Dies ist der code, den ich verwendet, um eine Verbindung mit dem Gerät.
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();
}
netstat -an
um zu sehen, ob dieses Gerät auch das hören für den Datenverkehr auf dem port Sie eine Verbindung herstellen möchten.Das ist eine gute Idee. Ich werde versuchen, dass. Ich bin mir zwar ziemlich sicher, dass es kommuniziert über diesen port, weil es der port, an dem die Hersteller bereitgestellte client-software verwendet, um mit dem Gerät kommunizieren. Und wenn ich auf die Internierten schien es, dass die
5005
ist eine Standard-standard-port-Nummer für Fingerabdruck-Geräte. Aber ich Frage mich, ob ich sollte senden eine Anfrage, um eine Antwort zu bekommen oder das Gerät überträgt die Daten auf jedem scan. Aber ich werde versuchen netstat
Befehle, wie Sie vorgeschlagen, und sehen, ob es lauscht auf diesem port. Danke @nrathaus!So verwenden
wireshark
zu schnüffeln Datenverkehr an diesem port ist, könnte es beispielsweise sein, dass der Datenverkehr ist SSL-verschlüsselt, die würden machen, was Sie wollen zu tun, ein bisschen schwierigIch habe andere Produkte, die funktionieren auf port 5005 und Fingerabdruck-Geräte, also vielleicht gibt es eine Art Protokoll, allerdings kann ich nicht suchen
Duplizieren: stackoverflow.com/questions/23990924/...
InformationsquelleAutor RocketRuwan | 2013-12-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jeder biomatric Gerät verfügen in der Regel über lAN-port oder Web-interface. Biomatric Gerät sendet die Daten auf bestimmten Ports. zum Beispiel
können Sie die Verbindung über java sockets und Daten Auslesen kann ..
halten es bis
genießen
InformationsquelleAutor user1911721
Einfach Weg, durch den Beispielcode heruntergeladen aus dem link geteilt in der Frage. teilen Sie mit mir meine paar Cent, wenn dir das hilft.
Als pro den code, wir können nicht direkt schließen Sie die Maschine über einfache socket-Programmierung. Das ist möglich, nur wenn Sie wissen, die low-level-Kommunikationsprotokoll, das keiner von den Herstellern teilen. So müssen Sie sich an Ihren SDKs nur.
Kommen, um das SDK
Müssen Sie Ereignisse finden, die für Anwesenheits -, Benutzer aktualisieren, und etc., und implementieren Sie Sie wie pro die Notwendigkeit. Ereignisse ausgelöst werden, die mit XML-parameter, die alle Daten enthält Daten, so müssen Sie die Schlüssel von jedem Element, das Sie gern Lesen.
Pegasus nicht den direkten cloud-Kommunikation, wenn Sie das direct-cloud-Kommunikation, wie Victor darauf hingewiesen, Sie haben die web-api unterstützt biometrische Maschinen.
InformationsquelleAutor Kevin
Wenn Sie versuchen, Zugriff auf die biometrischen Daten Maschinen zu zuordnen, die mit Ihrem web-Anwendung, dann suchen Sie für CAMSUnit Maschinen. NOCKEN bietet die WEB-APIs für Ihre biometrische Maschinen. Es unterstützt die Registrierung der callback-URL, die aufgerufen wird, jedes mal, wenn eine neue Teilnahme ist registriert.
InformationsquelleAutor Victor