gpg:: NearbyConnections
#include <nearby_connections.h>
Eine API, die zum Erstellen 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 an die Remote-Endpunkte mit den angegebenen IDs.
|
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 Anwendung.
|
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 Anwendung Endpunkte findet und verliert.
|
StartDiscovery(const std::string & service_id, Duration duration, EndpointDiscoveryListenerHelper helper)
|
void
Ermittelt Remote-Endpunkte mit der angegebenen Dienst-ID.
|
Stop()
|
void
Trennt alle Remote-Endpunkte wird keine Werbung
oder Entdeckung mehr durchgeführt.
|
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.
|
Klassen |
|
---|---|
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 Anwendung Nachrichten an den angegebenen Endpunkt senden und von diesem empfangen. Dazu kann listener
verwendet werden, bis die Verbindung zum anderen Endpunkt getrennt wird. remote_endpoint_id
muss mit der ID des Remote-Endpunkts übereinstimmen, der die Verbindung angefordert hat. Diese ID wird von ConnectionRequestCallback
bereitgestellt. payload
kann eine Nachricht auf „Hold“ setzen, die zusammen mit der Verbindungsantwort gesendet werden soll. listener
gibt einen Listener an, der über Ereignisse für diese Verbindung benachrichtigt 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. Diese ID wird von ConnectionRequestCallback
bereitgestellt.
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 Anwendung eine Verbindungsanfrage sendet. payload
kann eine benutzerdefinierte Nachricht enthalten, die zusammen mit der Verbindungsanfrage gesendet werden soll. Alternativ kann Ihre Anwendung anstelle einer Nutzlast einen leeren Bytevektor übergeben. Diese Funktion ruft den angegebenen Rückruf als Antwort auf die Anfrage auf. Wenn der Vorgang erfolgreich ist, wird die Meldung „Verbindung angenommen“ ausgegeben. oder „Verbindung abgelehnt“ Antwort. Andernfalls wird eine Fehlermeldung generiert. Wird eine Verbindung akzeptiert, kann die App Nachrichten an den Remote-Endpunkt senden und der angegebene Listener wird beim Empfang einer Nachricht oder beim Trennen der Verbindung zum Remote-Endpunkt aufgerufen.
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 an die Remote-Endpunkte mit den angegebenen IDs.
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 Anwendung.
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. Falls angegeben, gibt app_identifiers
an, wie diese App auf verschiedenen Plattformen installiert oder gestartet wird. duration
gibt die Dauer (in Millisekunden) an, während der das Advertising ausgeführt wird, 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 so lange fortgesetzt, bis die App StopAdvertising()
aufruft. Diese Funktion ruft start_advertising_callback
auf, wenn das Advertising startet oder fehlschlägt. empfängt dieser Callback die Endpunktinformationen bei Erfolg oder einen Fehlercode. Diese Funktion ruft request_callback
auf, wenn ein Remote-Endpunkt eine Verbindung zum Endpunkt der App anfordert. Diese Funktion bewirbt das Vorhandensein dieses Endpunkts so lange, 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 Anwendung 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 Ausführung der Erkennung an. Sie kann früher beendet werden, wenn die App StopDiscovery()
aufruft. Wenn der Wert von Duration
gleich gpg::Duration::zero()
ist, wird die Erkennung so lange 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 )
Ermittelt 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 alle Remote-Endpunkte wird keine Werbung oder Entdeckung mehr durchgeführt.
Löscht den internen Status.
StopAdvertising
void StopAdvertising()
Beendet das Bewerben des lokalen Endpunkts.
Bestehende Verbindungen werden dadurch NICHT getrennt.
StopDiscovery
void StopDiscovery( const std::string & service_id )
Beendet die Suche nach Remote-Endpunkten für eine zuvor angegebene Dienst-ID.
~NearbyConnections
~NearbyConnections()