تبادل داده

پس از برقراری ارتباط بین دستگاه‌ها، می‌توانید تبادل داده‌ها را آغاز کنید. داده‌های مبادله‌شده می‌توانند به شکل یک آرایه بایتی ساده، مانند یک پیام متنی کوتاه؛ یک فایل، مانند یک عکس یا ویدیو؛ یا یک جریان، مانند جریان صوتی از میکروفون دستگاه باشند.

داده‌ها را می‌توان با استفاده از متدهای نمونه‌ی مدیریت اتصال زیر ارسال کرد:

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

متدهای نماینده مدیریت اتصال زیر می‌توانند هنگام دریافت داده‌ها مورد استفاده قرار گیرند.

سویفت

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