Données de place de marché

Une fois les connexions établies entre les appareils, vous pouvez commencer à échanger des données. Les données échangées peuvent prendre la forme d'un simple tableau d'octets, tel qu'un court message, d'un fichier, tel qu'une photo ou une vidéo, ou d'un flux, tel que le flux audio du micro de l'appareil.

Les données peuvent être envoyées à l'aide des méthodes d'instance du gestionnaire de connexion suivantes :

  • send(_:to:)
  • startStream(_:to:)
  • sendResource(at:withName:to:)

Les méthodes déléguées du gestionnaire de connexion suivantes peuvent être utilisées lors de la réception de données.

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.
  }
}