RFCOMM ist die serielle Schnittstelle über Bluetooth — ein Datenstrom wie bei TCP, adressiert über Geräteadresse und Kanalnummer (1–30). Damit sprechen Drucker, Barcodescanner, OBD-Adapter und die meisten Geräte des klassischen Bluetooth.
Die Unit folgt dem Muster der Socket-Programmierung: RFCommConnect für die Client-Seite, RFCommListen/RFCommAccept für die Server-Seite, dazwischen RFCommSend/RFCommRecv auf einem Deskriptor.
Zwei Dinge, die Arbeit sparen: RFCommSendAll schreibt so lange, bis der Puffer wirklich draußen ist — ein einzelnes Send darf jederzeit weniger schreiben als verlangt. RFCommPoll wartet mit Zeitlimit auf Daten, statt blockierend zu lesen.
RFCommSetSecurity verlangt Verschlüsselung oder Authentifizierung für die Verbindung; ohne diesen Aufruf ist die Übertragung ungesichert.
std.hardware.bluetooth — Übersicht · Bluetooth-Guide · Standard Library
| Signatur |
|---|
RFCommConnect(bdaddr: int64, channel: int64): int64 |
RFCommSend(fd: int64, buf: int64, len: int64): int64 |
RFCommRecv(fd: int64, buf: int64, len: int64): int64 |
RFCommListen(channel: int64, backlog: int64): int64 |
RFCommAccept(listenFd: int64, remoteAddrOut: int64): int64 |
RFCommClose(fd: int64): int64 |
RFCommSetSecurity(fd: int64, flags: int64): int64 |
RFCommPoll(fd: int64, timeoutMs: int64): int64 |
RFCommSendAll(fd: int64, buf: int64, len: int64): int64 |
Quelle: std/hardware/bluetooth_rfcomm.lyx · geprüft mit lyxc 1.0.17E · Stand 2026-08-12