بيانات Exchange

بعد إنشاء الاتصالات بين الأجهزة، يمكنك بدء تبادل البيانات. ويمكن أن تكون البيانات التي يتم تبادلها على شكل مصفوفة بايت بسيطة، مثل رسالة نصية قصيرة أو ملف مثل صورة أو فيديو أو بث، مثل البث الصوتي من ميكروفون الجهاز.

يمكن إرسال البيانات باستخدام طرق نسخة مدير الاتصال التالية:

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

يمكن استخدام طرق تفويض مدير الاتصال التالية عند استلام البيانات.

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