Bluetooth L2CAP
Für paketorientierte L2CAP-Verbindungen werden die Klassen L2CAPConnection und L2CAPConnectionNotifier benötigt, die Vorgehensweise ist ähnlich wie bei RFCOMM-Verbindungen. Für einen Server wird zunächst ein Notifier-Objekt vom Typ L2CAPConnectionNotifier erzeugt, welches man wieder als Rückgabewert der Methode open() der Klasse Connector erhält. Die blockierende Methode acceptAndOpen() des Notifyer-Objekts gibt bei Verbindung eines Clients ein Connection-Objekt zurück, welches auf L2CAPConnection gecastet wird.
Für eine Client-L2CAP-Verbindung wird wieder die Methode open() der Klasse Connector aufgerufen, welcher der URL mitgegeben wird, diesmal wird sie auf den Typ L2CAPConnection gecastet.
Um Daten zu senden bzw. zu empfangen besitzt die Klasse L2CAPConnection die Methoden send() und receive().
Die URL bei L2CAP-Connections beginnt mit „btl2cap://“, darauf folgend wieder die UUID des Service, jedoch wird bei L2CAP noch der MTU-Wert angehängt.
“btl2cap://localhost:00112233445566778899AABBCCDDEEFF;ReceiveMTU=1024;TransmitMTU =1024″;
Die MTU ( Maximum Transmission Unit) gibt die Größe der Pakete an, welche über L2CAP verschickt werden. Je nach Endgerät kann diese Unterschiedlich sein, der Defaultwert liegt bei 672 – um die maximale Paketgröße herauszufinden, kann das Property „bluetooth.l2cap.receiveMTU.max“ mit der Methode getProperty() der Klasse LocalDevice abgefragt werden.
Ähnliche Artikel zu "Bluetooth L2CAP":
Wenn Du noch Fragen zum Thema Bluetooth L2CAP hast, dann schreib einfach einen Kommentar - oder schau dir meine Buchtipps an: