gpg::NearbyConnections

#include <nearby_connections.h>

Eine API, die zum Herstellen von Verbindungen und zur Kommunikation zwischen Apps im selben lokalen Netzwerk verwendet wird.

Zusammenfassung

Konstruktoren und Zerstörer

NearbyConnections()
~NearbyConnections()

Öffentliche Funktionen

AcceptConnectionRequest(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, IMessageListener *listener)
void
Akzeptiert eine Verbindungsanfrage.
AcceptConnectionRequest(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, MessageListenerHelper helper)
void
Akzeptiert eine Verbindungsanfrage.
Disconnect(const std::string & remote_endpoint_id)
void
Trennt die Verbindung zum Remote-Endpunkt mit der angegebenen ID.
RejectConnectionRequest(const std::string & remote_endpoint_id)
void
Lehnt eine Verbindungsanfrage ab.
SendConnectionRequest(const std::string & name, const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, ConnectionResponseCallback callback, IMessageListener *listener)
void
Fordert an, dass eine Verbindung zu einem Remote-Endpunkt hergestellt wird.
SendConnectionRequest(const std::string & name, const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, ConnectionResponseCallback callback, MessageListenerHelper helper)
void
Fordert eine Verbindung zu einem Remote-Endpunkt an.
SendReliableMessage(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload)
void
Sendet eine zuverlässige Nachricht an den Remote-Endpunkt mit der angegebenen ID.
SendReliableMessage(const std::vector< std::string > & remote_endpoint_ids, const std::vector< uint8_t > & payload)
void
Sendet eine zuverlässige Nachricht mit den angegebenen IDs an die Remote-Endpunkte.
SendUnreliableMessage(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload)
void
Sendet eine unzuverlässige Nachricht an den Remote-Endpunkt mit der angegebenen ID.
SendUnreliableMessage(const std::vector< std::string > & remote_endpoint_ids, const std::vector< uint8_t > & payload)
void
Sendet eine unzuverlässige Nachricht an die Remote-Endpunkte mit den angegebenen IDs.
StartAdvertising(const std::string & name, const std::vector< AppIdentifier > & app_identifiers, Duration duration, StartAdvertisingCallback start_advertising_callback, ConnectionRequestCallback request_callback)
void
Startet das Bewerben eines Endpunkts für eine lokale App.
StartDiscovery(const std::string & service_id, Duration duration, IEndpointDiscoveryListener *listener)
void
Findet Remote-Endpunkte mit der angegebenen Dienst-ID und ruft den Listener wiederholt auf, wenn die App Endpunkte findet und verliert.
StartDiscovery(const std::string & service_id, Duration duration, EndpointDiscoveryListenerHelper helper)
void
Sucht Remote-Endpunkte mit der angegebenen Dienst-ID.
Stop()
void
Trennt die Verbindung zu allen Remote-Endpunkten und beendet jegliche Werbung oder Erkennung.
StopAdvertising()
void
Beendet das Bewerben des lokalen Endpunkts.
StopDiscovery(const std::string & service_id)
void
Beendet die Suche nach Remote-Endpunkten für eine zuvor angegebene Dienst-ID.

Kurse

gpg::NearbyConnections::Builder

Builder-Klasse, die zum Erstellen von NearbyConnections-Objekten verwendet wird.

Öffentliche Funktionen

AcceptConnectionRequest

void AcceptConnectionRequest(
  const std::string & remote_endpoint_id,
  const std::vector< uint8_t > & payload,
  IMessageListener *listener
)

Akzeptiert eine Verbindungsanfrage.

Danach kann die App Nachrichten an den angegebenen Endpunkt senden und Nachrichten von diesem empfangen. Dies ist mithilfe von listener möglich, bis die Verbindung der App vom anderen Endpunkt getrennt wird. remote_endpoint_id muss mit der ID des Remote-Endpunkts übereinstimmen, der die Verbindung angefordert hat. ConnectionRequestCallback stellt diese ID bereit. payload kann eine Nachricht enthalten, die zusammen mit der Verbindungsantwort gesendet werden soll. listener gibt einen Listener an, der über Ereignisse für diese Verbindung informiert werden soll.

AcceptConnectionRequest

void AcceptConnectionRequest(
  const std::string & remote_endpoint_id,
  const std::vector< uint8_t > & payload,
  MessageListenerHelper helper
)

Akzeptiert eine Verbindungsanfrage.

Diese Funktion unterscheidet sich von AcceptConnectionRequest nur dadurch, dass sie MessageListenerHelper anstelle von IMessageListener verwendet.

Verbindung trennen

void Disconnect(
  const std::string & remote_endpoint_id
)

Trennt die Verbindung zum Remote-Endpunkt mit der angegebenen ID.

NearbyConnections

 NearbyConnections()

RejectConnectionRequest

void RejectConnectionRequest(
  const std::string & remote_endpoint_id
)

Lehnt eine Verbindungsanfrage ab.

remote_endpoint_id muss mit der ID des Remote-Endpunkts übereinstimmen, der die Verbindung angefordert hat. ConnectionRequestCallback stellt diese ID bereit.

SendConnectionRequest

void SendConnectionRequest(
  const std::string & name,
  const std::string & remote_endpoint_id,
  const std::vector< uint8_t > & payload,
  ConnectionResponseCallback callback,
  IMessageListener *listener
)

Fordert an, dass eine Verbindung zu einem Remote-Endpunkt hergestellt wird.

name ist ein Name, den die App Nutzern auf dem anderen Gerät anzeigen kann, um diesen Endpunkt zu identifizieren. Wenn Sie einen leeren String angeben, wird der Gerätename verwendet. remote_endpoint_id ist die ID des Remote-Endpunkts, an den diese App eine Verbindungsanfrage sendet. payload kann eine benutzerdefinierte Nachricht auf „Hold“ setzen, die zusammen mit der Verbindungsanfrage gesendet wird. Alternativ kann Ihre Anwendung anstelle einer Nutzlast einen leeren Bytevektor übergeben. Diese Funktion ruft den angegebenen Callback als Antwort auf die Anfrage auf. Wenn der Vorgang erfolgreich ist, wird die Antwort „Verbindung akzeptiert“ oder „Verbindung abgelehnt“ zurückgegeben. Andernfalls wird eine Fehlermeldung generiert. Im Fall einer akzeptierten Verbindung kann die App Nachrichten an den Remote-Endpunkt senden, und die App ruft den angegebenen Listener auf, wenn eine Nachricht empfangen wird oder die Verbindung zum Remote-Endpunkt getrennt wird.

SendConnectionRequest

void SendConnectionRequest(
  const std::string & name,
  const std::string & remote_endpoint_id,
  const std::vector< uint8_t > & payload,
  ConnectionResponseCallback callback,
  MessageListenerHelper helper
)

Fordert eine Verbindung zu einem Remote-Endpunkt an.

Unterscheidet sich von SendConnectionRequest nur dadurch, dass MessageListenerHelper anstelle von IMessageListener verwendet wird.

SendReliableMessage

void SendReliableMessage(
  const std::string & remote_endpoint_id,
  const std::vector< uint8_t > & payload
)

Sendet eine zuverlässige Nachricht an den Remote-Endpunkt mit der angegebenen ID.

SendReliableMessage

void SendReliableMessage(
  const std::vector< std::string > & remote_endpoint_ids,
  const std::vector< uint8_t > & payload
)

Sendet eine zuverlässige Nachricht mit den angegebenen IDs an die Remote-Endpunkte.

SendUnreliableMessage

void SendUnreliableMessage(
  const std::string & remote_endpoint_id,
  const std::vector< uint8_t > & payload
)

Sendet eine unzuverlässige Nachricht an den Remote-Endpunkt mit der angegebenen ID.

SendUnreliableMessage

void SendUnreliableMessage(
  const std::vector< std::string > & remote_endpoint_ids,
  const std::vector< uint8_t > & payload
)

Sendet eine unzuverlässige Nachricht an die Remote-Endpunkte mit den angegebenen IDs.

StartAdvertising

void StartAdvertising(
  const std::string & name,
  const std::vector< AppIdentifier > & app_identifiers,
  Duration duration,
  StartAdvertisingCallback start_advertising_callback,
  ConnectionRequestCallback request_callback
)

Startet das Bewerben eines Endpunkts für eine lokale App.

name kann ein Name sein, den die App Nutzern zur Identifizierung des Endpunkts anzeigt. Wenn Sie einen leeren String angeben, wird der Gerätename verwendet. Wenn angegeben, gibt app_identifiers an, wie diese App auf verschiedenen Plattformen installiert oder gestartet wird. duration gibt die Dauer (in Millisekunden) der Anzeige an, es sei denn, die App ruft vor Ablauf der Dauer StopAdvertising() oder Stop() auf. Wenn der Wert von duration gleich gpg::Duration::zero() ist, wird die Werbung unbegrenzt fortgesetzt, bis die App StopAdvertising() aufruft. Diese Funktion ruft start_advertising_callback auf, wenn Werbung gestartet oder fehlschlägt. Dieser Callback empfängt Endpunktinformationen bei Erfolg oder einen Fehlercode bei einem Fehler. Diese Funktion ruft request_callback auf, wenn ein Remote-Endpunkt eine Verbindung mit dem Endpunkt der Anwendung anfordert. Diese Funktion gibt das Vorhandensein dieses Endpunkts weiter, bis die App StopAdvertising aufruft oder die Dauer abgelaufen ist. Wenn bereits ein Endpunkt beworben wird, schlägt dieser Aufruf fehl.

StartDiscovery

void StartDiscovery(
  const std::string & service_id,
  Duration duration,
  IEndpointDiscoveryListener *listener
)

Findet Remote-Endpunkte mit der angegebenen Dienst-ID und ruft den Listener wiederholt auf, wenn die App Endpunkte findet und verliert.

Dies wird so lange fortgesetzt, bis die Anwendung StopDiscovery mit der angegebenen Dienst-ID aufruft. service_id sollte dem Wert entsprechen, den Apps bieten, wenn sie über StartAdvertising werben. duration gibt die maximale Dauer (in Millisekunden) für die Erkennung an. Die Erkennung wird möglicherweise früher beendet, wenn die App StopDiscovery() aufruft. Wenn der Wert von Duration gleich gpg::Duration::zero() ist, wird die Erkennung auf unbestimmte Zeit fortgesetzt, bis die App StopDiscovery() oder Stop() aufruft. Wenn bereits ein Listener für die Suche nach Endpunkten für die angegebene Dienst-ID registriert ist, schlägt dieser Aufruf fehl.

StartDiscovery

void StartDiscovery(
  const std::string & service_id,
  Duration duration,
  EndpointDiscoveryListenerHelper helper
)

Sucht Remote-Endpunkte mit der angegebenen Dienst-ID.

Diese Funktion unterscheidet sich von StartDiscovery nur dadurch, dass sie EndpointDiscoveryListenerHelper anstelle von IEndpointDiscoveryListener verwendet.

Beenden

void Stop()

Trennt die Verbindung zu allen Remote-Endpunkten und beendet jegliche Werbung oder Erkennung.

Löscht den internen Status.

StopAdvertising

void StopAdvertising()

Beendet das Bewerben des lokalen Endpunkts.

Dies führt NICHT dazu, dass bestehende Verbindungen getrennt werden.

StopDiscovery

void StopDiscovery(
  const std::string & service_id
)

Beendet die Suche nach Remote-Endpunkten für eine zuvor angegebene Dienst-ID.

~NearbyConnections

 ~NearbyConnections()