Bluetooth – Empfang von Nachrichten


Empfang von Nachrichten

Die Klasse BTReceiver implementiert ebenfalls das Interface Runnable und stellt in der run() – Methode die Funktionalität zum Empfang und die den SIGNAL – Typen entsprechende Behandlung von Nachrichten zur Verfügung.

Nach dem Start des Threads wird ein DataInputStream – Objekt erzeugt, welches von der openDataInputStream() – Methode der Connection zurückgegeben wird. Solange das done – Flag nicht gesetzt wurde, wird mit der Methode readInt() versucht, die SIGNAL – Nummer des nächsten DataPackets auszulesen. Diese wird vom Sender immer zuerst verschickt. Die Methode blockiert, bis Daten empfangen werden.

Die Behandlung der eingehenden Daten wird wieder anhand ihrer SIGNAL – Nummer unterschieden. Zuerst werden jeweils die Attribute der DataPacket´s ausgelesen, danach eine Acknowledge – Nachricht zurückgeschickt, um den Empfang zu bestätigen. Bei Binärdaten wird die Checksumme über das byte[] berechnet und mit der ACK – Nachricht zurückgeschickt. So kann die korrekte Übertragung überprüft werden. Anschliessend wird der entsprechende Event durch die Callback-Methode des BTListener – Objekts ausgelöst, damit die Steuerungsschicht auf die eingegangene Nachricht reagieren kann.

Das Auslesen von Strings geschieht mit der Methode readUTF(), Binärdaten werden mit der read() – Methode empfangen, auch hier wird auf Kapitel 3.4.2 verwiesen, welches unter anderem die Probleme mit der Übertragung von Binärdaten behandelt.

Wenn die SIGNAL – Nummer nicht erkannt wird, z. B. weil ein Übertragungsfehler vorliegt, wird der Rest des Streams ausgelesen, damit spätere Nachrichten wieder korrekt behandelt werden können. Der Benutzer wird durch einen tiefen Ton über einen Fehler benachrichtigt. Falls eine Exception während der Übertragung auftritt, wird die Methode tryRecon() des EndPoint´s aufgerufen, um die Verbindung neu aufzubauen.



Ähnliche Artikel zu "Bluetooth – Empfang von Nachrichten":


Wenn Du noch Fragen zum Thema Bluetooth – Empfang von Nachrichten hast, dann schreib einfach einen Kommentar - oder schau dir meine Buchtipps an:

Wie ist DEINE Meinung zum Thema Bluetooth – Empfang von Nachrichten?

Schreib sie einfach als Kommentar:

You must be logged in to post a comment.




karbacher.org © Bluetooth – Empfang von Nachrichten