Sobald Verbindungen zwischen Geräten hergestellt wurden, können Sie Daten austauschen. Die ausgetauschten Daten können in Form eines einfachen Byte-Arrays, z. B. einer kurzen Nachricht, einer Datei, z. B. eines Fotos oder Videos, oder eines Streams, z. B. des Audiostreams vom Mikrofon des Geräts, vorliegen.
Daten können mit den folgenden Methoden der Connection Manager-Instanz gesendet werden:
send(_:to:)startStream(_:to:)sendResource(at:withName:to:)
Die folgenden Delegatenmethoden des Connection Manager können beim Empfang von Daten verwendet werden.
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.
}
}