gpg::NearbyConnections

#include <nearby_connections.h>

Một API dùng để tạo kết nối và giao tiếp giữa các ứng dụng trên cùng một mạng cục bộ.

Tóm tắt

Hàm khởi tạo và hàm phá

NearbyConnections()
~NearbyConnections()

Hàm công khai

AcceptConnectionRequest(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, IMessageListener *listener)
void
Chấp nhận yêu cầu kết nối.
AcceptConnectionRequest(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, MessageListenerHelper helper)
void
Chấp nhận yêu cầu kết nối.
Disconnect(const std::string & remote_endpoint_id)
void
Ngắt kết nối khỏi điểm cuối từ xa bằng mã nhận dạng đã chỉ định.
RejectConnectionRequest(const std::string & remote_endpoint_id)
void
Từ chối yêu cầu kết nối.
SendConnectionRequest(const std::string & name, const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, ConnectionResponseCallback callback, IMessageListener *listener)
void
Yêu cầu thiết lập kết nối với một điểm cuối từ xa.
SendConnectionRequest(const std::string & name, const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, ConnectionResponseCallback callback, MessageListenerHelper helper)
void
Yêu cầu kết nối với một điểm cuối từ xa.
SendReliableMessage(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload)
void
Gửi tin nhắn đáng tin cậy đến điểm cuối từ xa kèm mã nhận dạng đã chỉ định.
SendReliableMessage(const std::vector< std::string > & remote_endpoint_ids, const std::vector< uint8_t > & payload)
void
Gửi một thông báo đáng tin cậy đến các điểm cuối từ xa kèm mã nhận dạng đã chỉ định.
SendUnreliableMessage(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload)
void
Gửi tin nhắn không đáng tin cậy đến điểm cuối từ xa bằng mã nhận dạng đã chỉ định.
SendUnreliableMessage(const std::vector< std::string > & remote_endpoint_ids, const std::vector< uint8_t > & payload)
void
Gửi một tin nhắn không đáng tin cậy đến các điểm cuối từ xa bằng mã nhận dạng đã chỉ định.
StartAdvertising(const std::string & name, const std::vector< AppIdentifier > & app_identifiers, Duration duration, StartAdvertisingCallback start_advertising_callback, ConnectionRequestCallback request_callback)
void
Bắt đầu quảng cáo một điểm cuối cho ứng dụng cục bộ.
StartDiscovery(const std::string & service_id, Duration duration, IEndpointDiscoveryListener *listener)
void
Tìm các điểm cuối từ xa bằng mã dịch vụ đã chỉ định, đồng thời gọi trình nghe nhiều lần khi ứng dụng tìm và mất điểm cuối.
StartDiscovery(const std::string & service_id, Duration duration, EndpointDiscoveryListenerHelper helper)
void
Tìm các điểm cuối từ xa bằng mã dịch vụ đã chỉ định.
Stop()
void
Ngắt kết nối khỏi mọi điểm cuối từ xa; dừng mọi hoạt động quảng cáo hoặc khám phá đang diễn ra.
StopAdvertising()
void
Ngừng quảng cáo điểm cuối cục bộ.
StopDiscovery(const std::string & service_id)
void
Ngừng tìm điểm cuối từ xa cho một mã dịch vụ đã chỉ định trước đó.

Lớp

gpg::NearbyConnections::Builder

Builder có một lớp dùng để tạo đối tượng NearbyConnections.

Hàm công khai

AcceptConnectionRequest

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

Chấp nhận yêu cầu kết nối.

Sau đó, ứng dụng có thể gửi và nhận tin nhắn từ điểm cuối đã chỉ định. Bạn có thể thực hiện việc này bằng cách sử dụng listener cho đến khi ứng dụng ngắt kết nối khỏi điểm cuối khác. remote_endpoint_id phải khớp với mã nhận dạng của điểm cuối từ xa đã yêu cầu kết nối. ConnectionRequestCallback cung cấp mã nhận dạng đó. payload có thể giữ một tin nhắn để gửi cùng với phản hồi kết nối. listener chỉ định một trình nghe để nhận thông báo về các sự kiện của kết nối này.

AcceptConnectionRequest

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

Chấp nhận yêu cầu kết nối.

Hàm này chỉ khác với AcceptConnectionRequest ở chỗ sử dụng MessageListenerHelper chứ không phải IMessageListener.

Ngắt kết nối

void Disconnect(
  const std::string & remote_endpoint_id
)

Ngắt kết nối khỏi điểm cuối từ xa bằng mã nhận dạng đã chỉ định.

NearbyConnections

 NearbyConnections()

RejectConnectionRequest

void RejectConnectionRequest(
  const std::string & remote_endpoint_id
)

Từ chối yêu cầu kết nối.

remote_endpoint_id phải khớp với mã nhận dạng của điểm cuối từ xa đã yêu cầu kết nối. ConnectionRequestCallback cung cấp mã nhận dạng đó.

SendConnectionRequest

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

Yêu cầu thiết lập kết nối với một điểm cuối từ xa.

name là tên mà ứng dụng có thể hiển thị với người dùng trên thiết bị khác để xác định điểm cuối này. Nếu bạn chỉ định một chuỗi trống, thì tên thiết bị sẽ được sử dụng. remote_endpoint_id là mã nhận dạng của điểm cuối từ xa mà ứng dụng này đang gửi yêu cầu kết nối. payload có thể giữ một tin nhắn tuỳ chỉnh để gửi cùng với yêu cầu kết nối. Ngoài ra, thay vì tải trọng, ứng dụng của bạn có thể truyền một vectơ byte trống. Hàm này gọi lệnh gọi lại đã chỉ định để phản hồi yêu cầu. Nếu thành công thì thao tác này sẽ tạo ra phản hồi "Connection Được chấp nhận" hoặc "Connection denied" (Đã từ chối kết nối). Nếu không, thao tác này sẽ tạo một thông báo lỗi. Trong trường hợp kết nối được chấp nhận, ứng dụng có thể gửi thông báo đến điểm cuối từ xa và sẽ gọi trình nghe được chỉ định khi nhận được thông báo hoặc ngắt kết nối khỏi điểm cuối từ xa.

SendConnectionRequest

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

Yêu cầu kết nối với một điểm cuối từ xa.

Khác với SendConnectionRequest chỉ ở chỗ dùng MessageListenerHelper thay vì IMessageListener.

SendReliableMessage

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

Gửi tin nhắn đáng tin cậy đến điểm cuối từ xa kèm mã nhận dạng đã chỉ định.

SendReliableMessage

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

Gửi một thông báo đáng tin cậy đến các điểm cuối từ xa kèm mã nhận dạng đã chỉ định.

SendUnreliableMessage

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

Gửi tin nhắn không đáng tin cậy đến điểm cuối từ xa bằng mã nhận dạng đã chỉ định.

SendUnreliableMessage

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

Gửi một tin nhắn không đáng tin cậy đến các điểm cuối từ xa bằng mã nhận dạng đã chỉ định.

StartAdvertising

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

Bắt đầu quảng cáo một điểm cuối cho ứng dụng cục bộ.

name có thể là tên ứng dụng hiển thị với người dùng để xác định điểm cuối. Nếu bạn chỉ định một chuỗi trống, thì tên thiết bị sẽ được sử dụng. Nếu được chỉ định, app_identifiers sẽ chỉ định cách cài đặt hoặc chạy ứng dụng này trên các nền tảng khác nhau. duration chỉ định thời lượng (tính bằng mili giây) mà quảng cáo sẽ chạy, trừ khi ứng dụng gọi StopAdvertising() hoặc Stop() trước khi thời lượng hết hạn. Nếu giá trị của duration bằng gpg::Duration::zero(), quảng cáo sẽ tiếp tục vô thời hạn cho đến khi ứng dụng gọi StopAdvertising(). Hàm này gọi start_advertising_callback khi quá trình quảng cáo bắt đầu hoặc không thành công; lệnh gọi lại này nhận thông tin về điểm cuối khi thành công hoặc mã lỗi khi không thực hiện được. Hàm này gọi request_callback khi một điểm cuối từ xa yêu cầu kết nối với điểm cuối của ứng dụng. Hàm này tiếp tục quảng cáo sự hiện diện của điểm cuối này cho đến khi ứng dụng gọi StopAdvertising hoặc thời lượng kết thúc. Nếu đã có một điểm cuối đang được quảng cáo, thì lệnh gọi này sẽ không thành công.

StartDiscovery

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

Tìm các điểm cuối từ xa bằng mã dịch vụ đã chỉ định, đồng thời gọi trình nghe nhiều lần khi ứng dụng tìm và mất điểm cuối.

Tiếp tục làm như vậy cho đến khi ứng dụng gọi StopDiscovery bằng mã dịch vụ đã chỉ định. service_id phải khớp với giá trị mà ứng dụng cung cấp khi quảng cáo thông qua StartAdvertising. duration chỉ định thời lượng tối đa (tính bằng mili giây) để chạy tính năng khám phá (quá trình này có thể dừng sớm hơn nếu ứng dụng gọi StopDiscovery()). Nếu giá trị của Duration bằng gpg::Duration::zero(), quá trình khám phá sẽ tiếp tục vô thời hạn cho đến khi ứng dụng gọi StopDiscovery() hoặc Stop(). Nếu đã có một trình nghe đăng ký để tìm điểm cuối cho mã dịch vụ đã chỉ định, thì lệnh gọi này sẽ không thành công.

StartDiscovery

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

Tìm các điểm cuối từ xa bằng mã dịch vụ đã chỉ định.

Hàm này khác với StartDiscovery ở chỗ dùng EndpointDiscoveryListenerHelper thay vì IEndpointDiscoveryListener.

Dừng

void Stop()

Ngắt kết nối khỏi mọi điểm cuối từ xa; dừng mọi hoạt động quảng cáo hoặc khám phá đang diễn ra.

Xoá trạng thái nội bộ.

StopAdvertising

void StopAdvertising()

Ngừng quảng cáo điểm cuối cục bộ.

Thao tác này sẽ KHÔNG làm hỏng các kết nối hiện có.

StopDiscovery

void StopDiscovery(
  const std::string & service_id
)

Ngừng tìm điểm cuối từ xa cho một mã dịch vụ đã chỉ định trước đó.

~ NearbyConnections (Kết nối lân cận)

 ~NearbyConnections()