De la récupération des données Biométriques d'Empreintes digitales Fréquentation de l'Appareil

Je suis en train d'essayer de vous connecter avec un Biométrique d'Empreintes digitales Fréquentation de l'Appareil à l'aide d'un Programme Java. L'appareil que j'utilise est un Pegasus T5 scanner d'Empreintes digitales. Malheureusement, leur kit de développement logiciel pour ce périphérique (qui peut être téléchargé ici) ne couvre que C#, .Net, VB qui je n'ai aucune expertise. Et quand j'ai demandé aux fabricants, ils ont répondu qu'il n'y a pas de Java SDK de l'appareil. Même si je n'ai aucune connaissance sur l'une de ces langues, j'ai donné un essai pour comprendre les codes dans le SDK pour savoir comment l'appareil se connecte et j'ai vu qu'il est juste de faire une connexion avec le périphérique en utilisant le réseau ip et numéro de port.

Si vous vous référez à la C# SDK de l'appareil, vous pouvez voir l'exemple que j'ai vu sur ce à
frmEvent.cs qui, dans le cmdStartMoniter_Click méthode, la connexion comme suit.

bRet = bpc.StartEventCapture(0, util.pubIPAddrToLong(txtSourceIP.Text), Convert.ToInt32(txtPortNumber.Text));

Et qui se réfère à la méthode StartEventCapture comme public virtual bool StartEventCapture(int dwCommType, int dwParam1, int dwParam2); qui est dans un .dll fichier tel qu'il apparaît, et dont j'ai perdu ma piste que j'ai plus de connaissances sur la façon de trouver le code.

Cependant garder l'exemple que j'avais vu dans ma tête, que ma prochaine étape, j'ai commencé à faire des recherches pour une norme mondiale sur la façon de se connecter, envoyer et récupérer les données avec un lecteur d'Empreintes digitales qui, là encore, je n'étais pas assez chanceux pour trouver une solution claire. Mais avec quelques exemples de certaines personnes qui tentent de traiter avec le même et l'exemple que j'ai vu par moi-même, j'ai essayé de me connecter avec le dispositif par la création d'un Socket objet, mais quand je l'ai exécuté, il ne entraîné avec le java.net.ConnectException: Connection timed out: connect

Il y a quatre questions

  1. Est-il un SDK Java pour Biométrique d'Empreintes digitales Fréquentation des Appareils que je peux utiliser pour mon appareil?
  2. Est-il général, de manière standard pour se connecter, envoyer et récupérer des données à partir d'un tel appareil à l'aide de Java?
  3. Si de la connexion à l'appareil via un Socket est une solution, est-il spécifique, les demandes standard je doit envoyer à l'appareil afin de recevoir une réponse de l'?
  4. Si la tentative que j'ai faite est une façon de le faire, ce que j'ai je fait de mal à cela, et comment corriger le problème?

C'est le code que j'ai utilisé pour se connecter avec l'appareil.

    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();
    }
Essayez d'utiliser netstat -an pour voir si ce dispositif est de même à l'écoute pour le trafic sur le port que vous essayez de vous connecter.
C'est une bonne idée. Je vais essayer ça. Même si je suis assez sûr qu'il communique par le biais de ce port, car c'est le port sur lequel le fabricant a fourni le logiciel client utilise pour communiquer avec le périphérique. Et quand je vérifie sur le interné il lui semblait que la 5005 est un standard par défaut du numéro de port pour les lecteurs d'empreintes digitales. Mais je me demande si je doit envoyer toute demande particulière afin d'obtenir une réponse ou de l'appareil transmet des données lors de chaque analyse. Cependant je vais essayer netstat des commandes comme vous l'avez suggéré, et voir si elle est à l'écoute sur ce port. Merci @nrathaus!
Donc, utiliser wireshark à renifler le trafic envoyé à ce port, il peut, par exemple, que le trafic est crypté SSL, ce qui ferait de ce que vous voulez faire un peu délicat
Je n'ai trouver d'autres produits qui fonctionnent sur le port 5005 et sont empreintes d'appareils, de sorte que peut-être il y a une sorte de protocole connu, mais je ne peut pas localiser un
Dupliquer: stackoverflow.com/questions/23990924/...

OriginalL'auteur RocketRuwan | 2013-12-22