Sobald die Geräte verbunden sind, können Sie mit dem Datenaustausch beginnen. Die ausgetauschten Daten können in Form eines einfachen Byte-Arrays wie z. B. einer kurzen SMS eine Datei, z. B. ein Foto oder Video, oder einen Stream, z. B. über das Mikrofon des Geräts streamen.
Daten können mit den folgenden Instanzmethoden des Verbindungsmanagers gesendet werden:
send(_:to:)
startStream(_:to:)
sendResource(at:withName:to:)
Die folgenden Delegate-Methoden des Verbindungsmanagers können beim Empfangen von Daten.
Swift
extension Example: ConnectionManagerDelegate {
func connectionManager(
_ connectionManager: ConnectionManager, didReceive data: Data,
withID payloadID: PayloadID, from endpointID: EndpointID) {
// A simple byte payload has been received. This will always include the full data.
}
func connectionManager(
_ connectionManager: ConnectionManager, didReceive stream: InputStream,
withID payloadID: PayloadID, from endpointID: EndpointID,
cancellationToken token: CancellationToken) {
// We have received a readable stream.
}
func connectionManager(
_ connectionManager: ConnectionManager,
didStartReceivingResourceWithID payloadID: PayloadID,
from endpointID: EndpointID, at localURL: URL,
withName name: String, cancellationToken token: CancellationToken) {
// We have started receiving a file. We will receive a separate transfer update
// event when complete.
}
func connectionManager(
_ connectionManager: ConnectionManager,
didReceiveTransferUpdate update: TransferUpdate,
from endpointID: EndpointID, forPayload payloadID: PayloadID) {
// A success, failure, cancelation or progress update.
}
}