Die Handhabung eines Biometrischen Fingerabdruck-Teilnahme Gerät mit dem Socket (JAVA)
Ich versuche zu verbinden mit einer Biometrische Fingerprint Teilnahme Gerät mit einem Java-Programm (eigentlich bin ich newbie!). Das Gerät, das ich verwende, ist eine Biocom Fingerprint-Anwesenheits-system. Jedoch, bin ich suchen und darüber zu Lesen, und ich sehe das SDK kann verwendet werden, die basierend auf Gerätetyp (hart, nicht logisch, außerdem ist es nicht die Globale Lösung!)
Ich recherchiere für einen globalen standard, wie verbinden, senden und abrufen von Daten mit einem Fingerabdruck-Gerät vor, die wieder ich war nicht glücklich genug zu finden, die eine klare Lösung. Derzeit habe ich versucht zu verbinden mit dem Gerät durch die Schaffung einer Buchse Objekt (über Ethernet-port), aber auch nicht ausgeführt, mit mir! Dieses offene infinity-loop-Probleme auf meinem Kopf!
In der Summe bitte:
- Ist es Allgemeinen, standard-Weg, um eine Verbindung, senden und abrufen von Daten aus einem solchen Gerät mit Java?
- Ist ein Socket kann überlegen, wie eine Lösung für diese problem?
- Wenn ja bitte, was ist falsch in meinem code unten, was zusätzliche Dinge benötigt mehr als die host-ip - und port-Nummer zu verbinden mit dem Gerät?
Die Socket-code verwendet:
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class Requester {
Socket requestSocket;
ObjectOutputStream out;
ObjectInputStream in;
String message;
Requester() {
}
void run() throws IOException {
try {
//1. creating a socket to connect to the server
requestSocket = new Socket("192.168.0.19", 4370);
System.out.println("Connected to given host in port 4370");
//2. get Input and Output streams
in = new ObjectInputStream(requestSocket.getInputStream());
//3: Communicating with the server
String line;
while (true) {
line = in.readLine();
if (line != null) {
System.out.println(line);
}
}
} catch (UnknownHostException unknownHost) {
System.err.println("You are trying to connect to an unknown host!");
} catch (IOException ioException) {
ioException.printStackTrace();
} catch (Exception Exception) {
Exception.printStackTrace();
} finally {
in.close();
requestSocket.close();
}
}
void sendMessage(String msg) {
try {
out.writeObject(msg);
out.flush();
System.out.println("client: " + msg);
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
public static void main(String args[]) throws IOException {
Requester client = new Requester();
client.run();
}
}
Diesem Bild kann mehr verraten:
Sorry für diese lange Frage. ABER jeder Hinweis oder tutorials wird geschätzt!
ja, bitte, es ist nicht das Lesen etwas! es ist halt nach dieser Zeile in = new ObjectInputStream(requestSocket.getInputStream()); !! das heißt, es ist nicht das Gerät (vielleicht)!
Ein ObjectInputStream deserialisiert primitiven Daten und Objekten, die zuvor geschrieben, mit einem ObjectOutputStream. Sie erkennen, dass die Daten, die Sie versuchen, zu erhalten, war nicht serialisiert, indem ein ObjectOutputStream und wird daher nicht erhalten die richtige Eingabe, Versuchen Sie wickelte Sie in einen allgemeineren InputStream wie einem einfachen BufferedReader: BufferedReader reader = new BufferedReader(new InputStreamReader(requestSocket.getInputStream()))
danke, ABER eigentlich habe ich versucht, aber ohne Hoffnung 🙁 (!) was ist das problem, ich weiß nicht, außerdem bin ich stecken für entlang Zeit ohne Fortschritt!! es ist kein tutorial, wirklich unendlich deprimiert (außerdem gibt es niemanden, Frage ich 🙁 ) ! @TFC
InformationsquelleAutor Maheera Jazi | 2014-06-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht die
ObjectInputStream
. Verwenden Sie einfach dieInputStream
erhalten Sie vonrequestSocket.getInputStream()
.Alternativ verwenden Sie ein Terminalprogramm wie putty eine Verbindung zu Ihrem Gerät. Dies erfordert keine Codierung.
System.aus.println(Eingaben.toString()); Dies wird drucken Sie die BufferedInputStream-Objekt toString, müssen Sie wickeln Sie es in einem reader der Arten.
InformationsquelleAutor BetaRide