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à phá huỷ

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 có 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 bằng 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 đến một điểm cuối từ xa.
SendReliableMessage(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload)
void
Gửi một tin nhắn đáng tin cậy đến điểm cuối từ xa có 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 tin nhắn đáng tin cậy đến các điểm cuối từ xa có mã nhận dạng đã chỉ định.
SendUnreliableMessage(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload)
void
Gửi một thông báo không đáng tin cậy đến điểm cuối từ xa có 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 có 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 một ứ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 và gọi trình nghe nhiều lần khi ứng dụng tìm thấy và mất các đ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 tất cả các điểm cuối từ xa; ngừng mọi 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
Dừ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 dùng để tạo các đố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 được chỉ định. Ứng dụng có thể làm việc này bằng cách sử dụng listener cho đến khi ứng dụng ngắt kết nối vớ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ã đó. 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 cho 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 AcceptConnectionRequest ở chỗ nó 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 có 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ã đó.

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 bằng điểm cuối từ xa.

name là tên mà ứng dụng có thể cho người dùng thấy trên thiết bị kia để 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ể lưu 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 thao tác thành công, thao tác sẽ tạo thông báo "Connection Accept" (Chấp nhận kết nối) hoặc "Kết nối bị từ chối" của bạn. Nếu không, Chrome sẽ tạo 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à ứng dụng sẽ gọi trình nghe đã chỉ định khi nhận được tin nhắn hoặc bị 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 đến một điểm cuối từ xa.

Khác với SendConnectionRequest, mã này sử dụng MessageListenerHelper thay vì IMessageListener.

SendReliableMessage

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

Gửi một tin nhắn đáng tin cậy đến điểm cuối từ xa có 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 tin nhắn đáng tin cậy đến các điểm cuối từ xa có mã nhận dạng đã chỉ định.

SendUnreliableMessage

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

Gửi một thông báo không đáng tin cậy đến điểm cuối từ xa có 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 có 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 một ứng dụng cục bộ.

name có thể là tên mà ứng dụng cho người dùng thấy để 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 bạn chỉ định, thì app_identifiers sẽ chỉ định cách cài đặt hoặc chạy ứng dụng này trên nhiều nền tảng. duration chỉ định thời lượng (tính bằng mili giây) mà quảng cáo sẽ chạy, trừ phi ứng dụng gọi StopAdvertising() hoặc Stop() trước khi hết thời lượng. 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ảng cáo bắt đầu hoặc không hoạt động; lệnh gọi lại này nhận thông tin điểm cuối khi thành công hoặc mã lỗi khi không thành công. 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 sẽ 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 khi 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 và gọi trình nghe nhiều lần khi ứng dụng tìm thấy và mất các đ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 qua StartAdvertising. duration chỉ định thời lượng tối đa (tính bằng mili giây) để chạy chế độ khám phá (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(), tính năng 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 được đăng ký để tìm các điểm cuối cho mã dịch vụ đã chỉ định, thì lệnh gọi này sẽ không thực hiện được.

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 chỉ khác StartDiscovery ở chỗ nó sử dụng EndpointDiscoveryListenerHelper thay vì IEndpointDiscoveryListener.

Dừng

void Stop()

Ngắt kết nối khỏi tất cả các điểm cuối từ xa; ngừng mọi 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ộ.

Việc này sẽ KHÔNG khiến các kết nối hiện có bị ngắt.

StopDiscovery

void StopDiscovery(
  const std::string & service_id
)

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

~NearbyConnections

 ~NearbyConnections()