gpg:: NearbyConnections

#include <nearby_connections.h>

یک API که برای ایجاد اتصالات و برقراری ارتباط بین برنامه ها در همان شبکه محلی استفاده می شود.

خلاصه

سازندگان و تخریب کنندگان

NearbyConnections ()
~NearbyConnections ()

توابع عمومی

AcceptConnectionRequest (const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, IMessageListener *listener)
void
درخواست اتصال را می پذیرد.
AcceptConnectionRequest (const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, MessageListenerHelper helper)
void
درخواست اتصال را می پذیرد.
Disconnect (const std::string & remote_endpoint_id)
void
با شناسه مشخص شده از نقطه پایانی راه دور قطع می شود.
RejectConnectionRequest (const std::string & remote_endpoint_id)
void
درخواست اتصال را رد می کند.
SendConnectionRequest (const std::string & name, const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, ConnectionResponseCallback callback, IMessageListener *listener)
void
درخواست می کند که یک اتصال با یک نقطه پایانی راه دور برقرار شود.
SendConnectionRequest (const std::string & name, const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, ConnectionResponseCallback callback, MessageListenerHelper helper)
void
درخواست اتصال به یک نقطه پایانی راه دور.
SendReliableMessage (const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload)
void
یک پیام قابل اعتماد به نقطه پایانی راه دور با شناسه مشخص شده ارسال می کند.
SendReliableMessage (const std::vector< std::string > & remote_endpoint_ids, const std::vector< uint8_t > & payload)
void
یک پیام قابل اعتماد به نقاط انتهایی راه دور با شناسه های مشخص شده ارسال می کند.
SendUnreliableMessage (const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload)
void
یک پیام غیرقابل اعتماد با شناسه مشخص شده به نقطه پایانی راه دور ارسال می کند.
SendUnreliableMessage (const std::vector< std::string > & remote_endpoint_ids, const std::vector< uint8_t > & payload)
void
با شناسه های مشخص شده یک پیام غیر قابل اعتماد به نقاط انتهایی راه دور ارسال می کند.
StartAdvertising (const std::string & name, const std::vector< AppIdentifier > & app_identifiers, Duration duration, StartAdvertisingCallback start_advertising_callback, ConnectionRequestCallback request_callback)
void
شروع به تبلیغ نقطه پایانی برای یک برنامه محلی می کند.
StartDiscovery (const std::string & service_id, Duration duration, IEndpointDiscoveryListener *listener)
void
نقاط پایانی راه دور را با شناسه سرویس مشخص شده پیدا می‌کند و زمانی که برنامه نقاط پایانی را پیدا کرده و از دست می‌دهد، شنونده را به طور مکرر فراخوانی می‌کند.
StartDiscovery (const std::string & service_id, Duration duration, EndpointDiscoveryListenerHelper helper)
void
نقاط پایانی راه دور را با شناسه سرویس مشخص شده پیدا می کند.
Stop ()
void
از تمام نقاط انتهایی راه دور قطع می شود. هرگونه تبلیغات یا کشفی را که در حال انجام است متوقف می کند.
StopAdvertising ()
void
تبلیغات نقطه پایانی محلی را متوقف می کند.
StopDiscovery (const std::string & service_id)
void
یافتن نقاط پایانی راه دور برای شناسه سرویس از قبل مشخص شده را متوقف می کند.

کلاس ها

gpg:: NearbyConnections:: سازنده

کلاس سازنده برای ساخت اشیاء NearbyConnections استفاده می شود.

توابع عمومی

AcceptConnectionRequest

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

درخواست اتصال را می پذیرد.

متعاقباً، برنامه می‌تواند پیام‌هایی را به نقطه پایانی مشخص شده ارسال کرده و از آن دریافت کند. می تواند این کار را با استفاده از listener انجام دهد تا زمانی که برنامه از نقطه پایانی دیگر قطع شود. remote_endpoint_id باید با شناسه نقطه پایانی راه دوری که اتصال را درخواست کرده است مطابقت داشته باشد. ConnectionRequestCallback آن شناسه را فراهم می کند. payload می تواند پیامی را برای ارسال همراه با پاسخ اتصال نگه دارد. listener شنونده ای را مشخص می کند که از رویدادهای این اتصال مطلع شود.

AcceptConnectionRequest

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

درخواست اتصال را می پذیرد.

این تابع تنها با AcceptConnectionRequest تفاوت دارد زیرا از MessageListenerHelper به جای IMessageListener استفاده می کند.

قطع شدن

void Disconnect(
  const std::string & remote_endpoint_id
)

با شناسه مشخص شده از نقطه پایانی راه دور قطع می شود.

NearbyConnections

 NearbyConnections()

RejectConnectionRequest

void RejectConnectionRequest(
  const std::string & remote_endpoint_id
)

درخواست اتصال را رد می کند.

remote_endpoint_id باید با شناسه نقطه پایانی راه دوری که اتصال را درخواست کرده است مطابقت داشته باشد. ConnectionRequestCallback آن شناسه را فراهم می کند.

SendConnectionRequest

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

درخواست می کند که یک اتصال با یک نقطه پایانی راه دور برقرار شود.

name نامی است که برنامه می تواند برای شناسایی این نقطه پایانی به کاربران دستگاه دیگر نمایش دهد. اگر یک رشته خالی را مشخص کنید، از نام دستگاه استفاده می شود. remote_endpoint_id شناسه نقطه پایانی راه دوری است که این برنامه در حال ارسال درخواست اتصال به آن است. payload می تواند یک پیام سفارشی برای ارسال همراه با درخواست اتصال داشته باشد. از طرف دیگر، به جای یک بار، برنامه شما می تواند یک بردار بایت خالی را ارسال کند. این تابع در پاسخ به درخواست، پاسخ تماس مشخص شده را فراخوانی می کند. اگر عملیات موفقیت آمیز باشد، یک پاسخ "اتصال پذیرفته شد" یا "اتصال رد شد" تولید می کند. در غیر این صورت، یک پیام شکست ایجاد می کند. در صورت اتصال پذیرفته شده، برنامه می‌تواند پیام‌هایی را به نقطه پایانی راه دور ارسال کند و برنامه در صورت دریافت پیام یا قطع شدن ارتباط از نقطه پایانی راه دور، شنونده مشخص‌شده را فراخوانی می‌کند.

SendConnectionRequest

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

درخواست اتصال به یک نقطه پایانی راه دور.

تفاوت با SendConnectionRequest فقط در این است که از MessageListenerHelper به جای IMessageListener استفاده می کند.

SendReliableMessage

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

یک پیام قابل اعتماد به نقطه پایانی راه دور با شناسه مشخص شده ارسال می کند.

SendReliableMessage

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

یک پیام قابل اعتماد به نقاط انتهایی راه دور با شناسه های مشخص شده ارسال می کند.

SendUnreliableMessage

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

یک پیام غیرقابل اعتماد با شناسه مشخص شده به نقطه پایانی راه دور ارسال می کند.

SendUnreliableMessage

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

با شناسه های مشخص شده یک پیام غیر قابل اعتماد به نقاط انتهایی راه دور ارسال می کند.

شروع تبلیغات

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

شروع به تبلیغ نقطه پایانی برای یک برنامه محلی می کند.

name می تواند نامی باشد که برنامه برای شناسایی نقطه پایانی به کاربران نمایش می دهد. اگر یک رشته خالی را مشخص کنید، از نام دستگاه استفاده می شود. اگر مشخص شده باشد، app_identifiers نحوه نصب یا راه اندازی این برنامه را در پلتفرم های مختلف مشخص می کند. duration مدت زمانی (بر حسب میلی ثانیه) را مشخص می کند که تبلیغ برای آن اجرا می شود، مگر اینکه برنامه قبل از انقضای مدت زمان، StopAdvertising() یا Stop() را فراخوانی کند. اگر مقدار duration برابر با gpg::Duration::zero() باشد، تبلیغات به طور نامحدود ادامه می یابد تا زمانی که برنامه StopAdvertising() را فراخوانی کند. این تابع در هنگام شروع یا شکست تبلیغات start_advertising_callback را فراخوانی می کند. این تماس برگشتی اطلاعات نقطه پایانی موفقیت یا کد خطا در صورت شکست را دریافت می کند. زمانی که یک نقطه پایانی راه دور درخواست اتصال با نقطه پایانی برنامه را می‌دهد، این تابع request_callback را فراخوانی می‌کند. این تابع به تبلیغ حضور این نقطه پایانی ادامه می‌دهد تا زمانی که برنامه StopAdvertising را فراخواند یا مدت زمان آن تمام شود. اگر قبلاً یک نقطه پایانی در حال تبلیغ باشد، این تماس با شکست مواجه می‌شود.

StartDiscovery

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

نقاط پایانی راه دور را با شناسه سرویس مشخص شده پیدا می‌کند و زمانی که برنامه نقاط پایانی را پیدا کرده و از دست می‌دهد، شنونده را به طور مکرر فراخوانی می‌کند.

این کار را تا زمانی که برنامه با شناسه سرویس مشخص شده StopDiscovery فراخوانی کند، ادامه می‌دهد. service_id باید با ارزشی که برنامه‌ها هنگام تبلیغات از طریق StartAdvertising ارائه می‌کنند مطابقت داشته باشد. duration حداکثر مدت زمان (بر حسب میلی ثانیه) برای اجرای اکتشاف را مشخص می کند (اگر برنامه StopDiscovery() را فراخوانی کند ممکن است زودتر متوقف شود. اگر مقدار Duration برابر با gpg::Duration::zero() باشد، کشف به طور نامحدود ادامه می یابد تا زمانی که برنامه StopDiscovery() یا Stop() را فراخوانی کند. اگر قبلاً شنونده ای برای یافتن نقاط پایانی شناسه سرویس مشخص شده ثبت شده باشد، این تماس با شکست مواجه می شود.

StartDiscovery

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

نقاط پایانی راه دور را با شناسه سرویس مشخص شده پیدا می کند.

این تابع تنها با StartDiscovery تفاوت دارد که از EndpointDiscoveryListenerHelper به جای IEndpointDiscoveryListener استفاده می کند.

متوقف کردن

void Stop()

از تمام نقاط انتهایی راه دور قطع می شود. هرگونه تبلیغات یا کشفی را که در حال انجام است متوقف می کند.

وضعیت داخلی را پاک می کند.

توقف تبلیغات

void StopAdvertising()

تبلیغات نقطه پایانی محلی را متوقف می کند.

انجام این کار باعث از بین رفتن اتصالات موجود نمی شود.

StopDiscovery

void StopDiscovery(
  const std::string & service_id
)

یافتن نقاط پایانی راه دور برای شناسه سرویس از قبل مشخص شده را متوقف می کند.

~ اتصالات Nearby

 ~NearbyConnections()