The nfc.handover module implements the NFC Forum Connection Handover 1.2 protocol as a server and client class that simplify realization of handover selector and requester functionality.


class nfc.handover.HandoverServer(llc, request_size_limit=65536, recv_miu=1984, recv_buf=15)

Bases: threading.Thread

NFC Forum Connection Handover server


Process a handover request message. The records argument holds a list of ndef.Record objects decoded from the received handover request message octets, where the first record type is urn:nfc:wkt:Hr. The method returns a list of ndef.Record objects with the first record typ urn:nfc:wkt:Hs.

This method should be overwritten by a subclass to customize it’s behavior. The default implementation returns a ndef.HandoverSelectRecord with version 1.2 and no alternative carriers.


class nfc.handover.HandoverClient(llc)

Bases: object

NFC Forum Connection Handover client

connect(recv_miu=248, recv_buf=2)

Connect to the remote handover server if available. Raises nfc.llcp.ConnectRefused if the remote device does not have a handover service or the service does not accept any more connections.


Disconnect from the remote handover server.


Send handover request message records to the remote server.


Receive a handover select message from the remote server.