gpg:: কাছাকাছি সংযোগ
#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:: Builder | বিল্ডার ক্লাস NearbyConnections অবজেক্ট তৈরি করতে ব্যবহৃত হয়। |
পাবলিক ফাংশন
সংযোগের অনুরোধ গ্রহণ করুন
void AcceptConnectionRequest( const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, IMessageListener *listener )
একটি সংযোগ অনুরোধ গ্রহণ করে।
পরবর্তীকালে, অ্যাপটি নির্দিষ্ট এন্ডপয়েন্ট থেকে বার্তা পাঠাতে এবং গ্রহণ করতে পারে। এটি listener
ব্যবহার করে তা করতে পারে, যতক্ষণ না অ্যাপটি অন্য প্রান্ত থেকে সংযোগ বিচ্ছিন্ন হয়। remote_endpoint_id
অবশ্যই রিমোট এন্ডপয়েন্টের আইডির সাথে মিলবে যেটি সংযোগের অনুরোধ করেছে। ConnectionRequestCallback
সেই ID প্রদান করে। payload
সংযোগের প্রতিক্রিয়া সহ পাঠানোর জন্য একটি বার্তা ধরে রাখতে পারে। listener
একটি শ্রোতাকে এই সংযোগের জন্য ইভেন্ট সম্পর্কে অবহিত করার জন্য নির্দিষ্ট করে।
সংযোগের অনুরোধ গ্রহণ করুন
void AcceptConnectionRequest( const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, MessageListenerHelper helper )
একটি সংযোগ অনুরোধ গ্রহণ করে।
এই ফাংশনটি শুধুমাত্র AcceptConnectionRequest
থেকে আলাদা যে এটি IMessageListener
এর পরিবর্তে MessageListenerHelper
ব্যবহার করে।
সংযোগ বিচ্ছিন্ন করুন
void Disconnect( const std::string & remote_endpoint_id )
নির্দিষ্ট আইডি দিয়ে দূরবর্তী প্রান্ত থেকে সংযোগ বিচ্ছিন্ন করে।
কাছাকাছি সংযোগ
NearbyConnections()
সংযোগের অনুরোধ প্রত্যাখ্যান করুন
void RejectConnectionRequest( const std::string & remote_endpoint_id )
একটি সংযোগ অনুরোধ প্রত্যাখ্যান.
remote_endpoint_id
অবশ্যই রিমোট এন্ডপয়েন্টের আইডির সাথে মিলবে যেটি সংযোগের অনুরোধ করেছে। ConnectionRequestCallback
সেই ID প্রদান করে।
সংযোগের অনুরোধ পাঠান
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
সংযোগের অনুরোধের সাথে পাঠানোর জন্য একটি কাস্টম বার্তা রাখতে পারে। বিকল্পভাবে, একটি পেলোডের পরিবর্তে, আপনার অ্যাপটি একটি খালি বাইট ভেক্টর পাস করতে পারে। এই ফাংশন অনুরোধের প্রতিক্রিয়া হিসাবে নির্দিষ্ট কলব্যাক আহ্বান করে। অপারেশন সফল হলে, এটি একটি "সংযোগ গ্রহণযোগ্য" বা "সংযোগ প্রত্যাখ্যাত" প্রতিক্রিয়া তৈরি করে। অন্যথায়, এটি একটি ব্যর্থতার বার্তা তৈরি করে। একটি স্বীকৃত সংযোগের ক্ষেত্রে, অ্যাপটি দূরবর্তী এন্ডপয়েন্টে বার্তা পাঠাতে পারে এবং অ্যাপটি একটি বার্তা প্রাপ্তির পরে বা দূরবর্তী প্রান্ত থেকে সংযোগ বিচ্ছিন্ন করার সময় নির্দিষ্ট শ্রোতাকে আহ্বান জানায়।
সংযোগের অনুরোধ পাঠান
void SendConnectionRequest( const std::string & name, const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, ConnectionResponseCallback callback, MessageListenerHelper helper )
একটি দূরবর্তী এন্ডপয়েন্টের সাথে একটি সংযোগের অনুরোধ করে৷
SendConnectionRequest
থেকে শুধুমাত্র এতে পার্থক্য যে এটি IMessageListener
এর পরিবর্তে MessageListenerHelper
ব্যবহার করে।
নির্ভরযোগ্য বার্তা পাঠান
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 )
একটি স্থানীয় অ্যাপের জন্য একটি শেষ পয়েন্টের বিজ্ঞাপন দেওয়া শুরু করে৷
name
এমন একটি নাম হতে পারে যা অ্যাপ ব্যবহারকারীদের কাছে প্রদর্শন করে শেষবিন্দু সনাক্ত করতে। আপনি যদি একটি খালি স্ট্রিং নির্দিষ্ট করেন, ডিভাইসের নাম ব্যবহার করা হয়। উল্লেখ করা থাকলে, app_identifiers
নির্দিষ্ট করে কিভাবে এই অ্যাপটি বিভিন্ন প্ল্যাটফর্মে ইনস্টল বা লঞ্চ করতে হয়। duration
নির্দিষ্ট করে (মিলিসেকেন্ডে) যার জন্য বিজ্ঞাপনটি চলবে, যদি না অ্যাপটি মেয়াদ শেষ হওয়ার আগে StopAdvertising()
বা Stop()
আহ্বান করে। duration
মান gpg::Duration::zero()
এর সমান হলে, অ্যাপটি StopAdvertising()
কল না করা পর্যন্ত বিজ্ঞাপন অনির্দিষ্টকালের জন্য চলতে থাকে। বিজ্ঞাপন শুরু বা ব্যর্থ হলে এই ফাংশন start_advertising_callback
আহ্বান করে; এই কলব্যাক সফলতার শেষ পয়েন্টের তথ্য বা ব্যর্থতার জন্য একটি ত্রুটি কোড পায়। একটি দূরবর্তী এন্ডপয়েন্ট অ্যাপের এন্ডপয়েন্টের সাথে সংযোগের অনুরোধ করলে এই ফাংশনটি request_callback
আহ্বান করে। অ্যাপটি StopAdvertising
কল না করা পর্যন্ত বা সময়কাল অতিবাহিত না হওয়া পর্যন্ত এই ফাংশনটি এই এন্ডপয়েন্টের উপস্থিতির বিজ্ঞাপন দিতে থাকে। যদি ইতিমধ্যেই কোনো শেষবিন্দুর বিজ্ঞাপন দেওয়া হয়, তাহলে এই কলটি ব্যর্থ হয়।
স্টার্ট ডিসকভারি
void StartDiscovery( const std::string & service_id, Duration duration, IEndpointDiscoveryListener *listener )
নির্দিষ্ট পরিষেবা আইডি সহ দূরবর্তী প্রান্তগুলি খুঁজে বের করে এবং অ্যাপটি শেষ পয়েন্টগুলি খুঁজে পাওয়ার এবং হারানোর সাথে সাথে শ্রোতাকে বারবার আহ্বান করে৷
যতক্ষণ না অ্যাপটি নির্দিষ্ট পরিষেবা আইডি সহ StopDiscovery
আহ্বান না করে ততক্ষণ পর্যন্ত এটি করা চালিয়ে যাবে। StartAdvertising
মাধ্যমে বিজ্ঞাপন দেওয়ার সময় apps প্রদান করা মূল্যের সাথে service_id
মেলে। duration
আবিষ্কার চালানোর জন্য সর্বাধিক সময়কাল (মিলিসেকেন্ডে) নির্দিষ্ট করে (অ্যাপটি StopDiscovery()
চালু করলে এটি তাড়াতাড়ি বন্ধ হয়ে যেতে পারে)। Duration
মান gpg::Duration::zero()
এর সমান হলে, অ্যাপটি StopDiscovery()
বা Stop()
কল না করা পর্যন্ত আবিষ্কার অনির্দিষ্টকালের জন্য চলতে থাকে। নির্দিষ্ট পরিষেবা আইডির জন্য এন্ডপয়েন্ট খোঁজার জন্য ইতিমধ্যেই একজন শ্রোতা নিবন্ধিত থাকলে, এই কলটি ব্যর্থ হয়।
স্টার্ট ডিসকভারি
void StartDiscovery( const std::string & service_id, Duration duration, EndpointDiscoveryListenerHelper helper )
নির্দিষ্ট পরিষেবা আইডি সহ দূরবর্তী শেষ পয়েন্টগুলি খুঁজে পায়৷
এই ফাংশনটি শুধুমাত্র StartDiscovery
থেকে আলাদা যে এটি IEndpointDiscoveryListener
এর পরিবর্তে EndpointDiscoveryListenerHelper
ব্যবহার করে।
থামো
void Stop()
সমস্ত দূরবর্তী প্রান্ত থেকে সংযোগ বিচ্ছিন্ন করে; যে কোনো বিজ্ঞাপন বা আবিষ্কার যা ঘটছে তা বন্ধ করে।
অভ্যন্তরীণ অবস্থা পরিষ্কার করে।
বিজ্ঞাপন বন্ধ করুন
void StopAdvertising()
স্থানীয় এন্ডপয়েন্টে বিজ্ঞাপন দেওয়া বন্ধ করে।
এটি করার ফলে বিদ্যমান সংযোগগুলিকে ছিন্ন করা হবে না।
স্টপ ডিসকভারি
void StopDiscovery( const std::string & service_id )
পূর্বে নির্দিষ্ট করা পরিষেবা আইডির জন্য দূরবর্তী এন্ডপয়েন্ট খুঁজে পাওয়া বন্ধ করে।
~ কাছাকাছি সংযোগ
~NearbyConnections()