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:: |
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()