বিবরণ
RFCOMM ও L2CAP কানেকশন ব্যবহার করে ব্লুটুথ ডিভাইসে ডেটা পাঠাতে ও সেখান থেকে ডেটা পেতে chrome.bluetoothSocket API ব্যবহার করুন।
উপলভ্যতা
ম্যানিফেস্ট
ধরন
AcceptError
Enum
"system_error"
সিস্টেমে কোনও সমস্যা হয়েছে এবং কানেকশন ফিরিয়ে আনা যাবে না।
"not_listening"
সকেট শুনছে না।
AcceptErrorInfo
প্রপার্টি
-
সমস্যা
কী সমস্যা হয়েছে তা বোঝাতে একটি ত্রুটি কোড।
-
errorMessage
স্ট্রিং
ত্রুটি মেসেজ।
-
socketId
নম্বর
সার্ভার সকেট আইডেন্টিফায়ার।
AcceptInfo
প্রপার্টি
-
clientSocketId
নম্বর
ক্লায়েন্ট সকেট আইডেন্টিফায়ার, অর্থাৎ নতুন তৈরি করা কানেকশনের সকেট আইডেন্টিফায়ার। এই সকেট শনাক্তকারী শুধুমাত্র
chrome.bluetoothSocketনেমস্পেসের ফাংশনের সাথে ব্যবহার করা উচিত। মনে রাখবেন, ক্লায়েন্ট সকেট প্রথমে পজ করা থাকে এবং ডেটা রিসিভ করা শুরু করতে অ্যাপ্লিকেশনকে স্পষ্টভাবে আন-পজ করতে হবে। -
socketId
নম্বর
সার্ভার সকেট আইডেন্টিফায়ার।
CreateInfo
প্রপার্টি
-
socketId
নম্বর
নতুন তৈরি করা সকেটের আইডি। মনে রাখবেন, এই API থেকে তৈরি করা সকেট আইডি অন্যান্য API থেকে তৈরি করা সকেট আইডির সাথে মানানসই নয়, যেমন
[sockets.tcp](../sockets_tcp/)API।
ListenOptions
প্রপার্টি
-
ব্যাকলগ
নম্বর ঐচ্ছিক
সকেটের লিসেন কিউয়ের দৈর্ঘ্য। ডিফল্ট ভ্যালু অপারেটিং সিস্টেমের হোস্ট সাবসিস্টেমের উপর নির্ভর করে।
-
চ্যানেল
নম্বর ঐচ্ছিক
listenUsingRfcomm-এর দ্বারা ব্যবহৃত RFCOMM চ্যানেল। উল্লেখ করা থাকলে, এই চ্যানেলটি আগে ব্যবহার করা যাবে না বা মেথড কল ব্যর্থ হবে। নির্দিষ্ট করা না থাকলে, অব্যবহৃত চ্যানেল অটোমেটিক বরাদ্দ করা হবে। -
psm
নম্বর ঐচ্ছিক
listenUsingL2cap-এর দ্বারা ব্যবহৃত L2CAP PSM। উল্লেখ করা থাকলে, এই PSM আগে ব্যবহার করা যাবে না বা মেথড কল ব্যর্থ হবে। নির্দিষ্ট করা না থাকলে, অব্যবহৃত PSM অটোমেটিক বরাদ্দ করা হবে।
ReceiveError
Enum
"ডিসকানেক্ট করা হয়েছে"
কানেকশন ডিসকানেক্ট করা হয়েছে।
"system_error"
সিস্টেমে কোনও সমস্যা হয়েছে এবং কানেকশন ফিরিয়ে আনা যাবে না।
"not_connected"
সকেট কানেক্ট করা হয়নি।
ReceiveErrorInfo
প্রপার্টি
-
সমস্যা
কী সমস্যা হয়েছে তা বোঝাতে একটি ত্রুটি কোড।
-
errorMessage
স্ট্রিং
ত্রুটি মেসেজ।
-
socketId
নম্বর
সকেট শনাক্তকারী।
ReceiveInfo
প্রপার্টি
-
ডেটা
ArrayBuffer
ডেটা পাওয়া গেছে, যার সর্বাধিক সাইজ হল
bufferSize। -
socketId
নম্বর
সকেট শনাক্তকারী।
SocketInfo
প্রপার্টি
-
ঠিকানা
স্ট্রিং ঐচ্ছিক
আন্ডারলাইং সকেট কানেক্ট করা থাকলে, এটি যে ডিভাইসের সাথে কানেক্ট করা আছে সেটির ব্লুটুথ অ্যাড্রেস এতে থাকে।
-
bufferSize
নম্বর ঐচ্ছিক
ডেটা রিসিভ করার জন্য ব্যবহৃত বাফারের সাইজ। কোনও বাফার সাইজ স্পষ্টভাবে উল্লেখ করা না থাকলে, ভ্যালু প্রদান করা হয় না।
-
কানেক্ট করা আছে
বুলিয়ান
সকেটটি কোনও রিমোট পিয়ারের সাথে কানেক্ট করা আছে কিনা তা ইঙ্গিত করার ফ্ল্যাগ।
-
নাম
স্ট্রিং ঐচ্ছিক
সকেটের সাথে যুক্ত অ্যাপ্লিকেশন-নির্ধারিত স্ট্রিং।
-
সাময়িক ভাবে থামানো হয়েছে
বুলিয়ান
কানেক্ট করা সকেট তার পিয়ারকে আরও ডেটা পাঠানো থেকে ব্লক করে কিনা অথবা লিসেনিং সকেটে কানেকশন অনুরোধ
onAcceptইভেন্টের মাধ্যমে ডিসপ্যাচ করা হয় নাকি লিসেনিং কিউ ব্যাকলগে কিউ করা হয় তা ইঙ্গিত করার ফ্ল্যাগ।setPausedদেখুন। ডিফল্ট ভ্যালু হল "false"। -
অবিচ্ছিন্ন
বুলিয়ান
অ্যাপ্লিকেশনের ইভেন্ট পৃষ্ঠা আনলোড করা হলে সকেট খোলা থাকবে কিনা তা ফ্ল্যাগ নির্দেশ করে (
SocketProperties.persistentদেখুন)। ডিফল্ট ভ্যালু হল "false"। -
socketId
নম্বর
সকেট শনাক্তকারী।
-
uuid
স্ট্রিং ঐচ্ছিক
যদি অন্তর্নিহিত সকেট কানেক্ট করা থাকে, তাহলে এটি যে পরিষেবা UUID-এর সাথে কানেক্ট করা আছে তার তথ্য থাকে, অন্যথায় যদি অন্তর্নিহিত সকেট শুনছে, তাহলে এটি যে পরিষেবা UUID-তে শুনছে তার তথ্য থাকে।
SocketProperties
প্রপার্টি
-
bufferSize
নম্বর ঐচ্ছিক
ডেটা রিসিভ করার জন্য ব্যবহৃত বাফারের সাইজ। ডিফল্ট ভ্যালু হল ৪০৯৬।
-
নাম
স্ট্রিং ঐচ্ছিক
সকেটের সাথে যুক্ত অ্যাপ্লিকেশন-নির্ধারিত স্ট্রিং।
-
অবিচ্ছিন্ন
বুলিয়ান ঐচ্ছিক
অ্যাপ্লিকেশনের ইভেন্ট পৃষ্ঠা আনলোড করা হলে সকেট খোলা আছে কিনা তা ফ্ল্যাগ দেখায় (অ্যাপ লাইফসাইকেল ম্যানেজ করুন দেখুন)। ডিফল্ট ভ্যালু হল
false.অ্যাপ্লিকেশন লোড করা হলে, persistent=true সহ আগে খোলা যেকোনও সকেটgetSockets-এর মাধ্যমে ফেচ করা যাবে।
পদ্ধতি
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
): Promise<void>
সকেট ডিসকানেক্ট করে এবং নষ্ট করে দেয়। তৈরি করা প্রতিটি সকেট ব্যবহারের পরে বন্ধ করে দিতে হবে। ফাংশন কল করার সাথে সাথেই সকেট আইডি আর কাজ করে না। তবে, কলব্যাক চালু করা হলেই সকেট বন্ধ হওয়ার গ্যারেন্টি দেওয়া হয়।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট শনাক্তকারী।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
connect()
chrome.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
): Promise<void>
সকেটকে রিমোট ব্লুটুথ ডিভাইসের সাথে কানেক্ট করে। connect অপারেশন সম্পূর্ণ হলে, পিয়ার থেকে ডেটা পাওয়ার সময় onReceive ইভেন্ট তৈরি হয়। রানটাইম প্যাকেট পাওয়ার সময় নেটওয়ার্কের সমস্যা হলে, onReceiveError ইভেন্ট তৈরি হয়, যে সময় setPaused(false) পদ্ধতি কল না করা পর্যন্ত এই সকেটের জন্য আর কোনও onReceive ইভেন্ট তৈরি হবে না।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট শনাক্তকারী।
-
ঠিকানা
স্ট্রিং
ব্লুটুথ ডিভাইসের ঠিকানা।
-
uuid
স্ট্রিং
কানেক্ট করার জন্য পরিষেবার UUID।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
ব্লুটুথ সকেট তৈরি করে।
প্যারামিটারগুলি
-
প্রপার্টি
SocketProperties ঐচ্ছিক
সকেট প্রপার্টি (ঐচ্ছিক)।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(createInfo: CreateInfo) => void
-
createInfo
সকেট তৈরির ফলাফল।
-
রিটার্ন
-
Promise<CreateInfo>
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
): Promise<void>
সকেট ডিসকানেক্ট করে। সকেট শনাক্তকারী বৈধ থাকে।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট শনাক্তকারী।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
প্রদত্ত সকেটের স্ট্যাটাস ফিরিয়ে আনে।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট শনাক্তকারী।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(socketInfo: SocketInfo) => void
-
socketInfo
সকেট সংক্রান্ত তথ্য সহ অবজেক্ট।
-
রিটার্ন
-
Promise<SocketInfo>
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
): Promise<SocketInfo[]>
অ্যাপ্লিকেশনের মালিকানাধীন বর্তমানে খোলা সকেটের তালিকা রিট্রিভ করে।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(sockets: SocketInfo[]) => void
-
সকেট
সকেট সংক্রান্ত তথ্য সহ অবজেক্টের অ্যারে।
-
রিটার্ন
-
Promise<SocketInfo[]>
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
L2CAP প্রোটোকল ব্যবহার করে কানেকশন শুনুন।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট শনাক্তকারী।
-
uuid
স্ট্রিং
শোনার জন্য পরিষেবা UUID।
-
বিকল্প
ListenOptions ঐচ্ছিক
পরিষেবার জন্য ঐচ্ছিক অতিরিক্ত বিকল্প।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
RFCOMM প্রোটোকল ব্যবহার করে কানেকশন শুনুন।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট শনাক্তকারী।
-
uuid
স্ট্রিং
শোনার জন্য পরিষেবা UUID।
-
বিকল্প
ListenOptions ঐচ্ছিক
পরিষেবার জন্য ঐচ্ছিক অতিরিক্ত বিকল্প।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
send()
chrome.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
): Promise<number>
প্রদত্ত ব্লুটুথ সকেটে ডেটা পাঠায়।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট শনাক্তকারী।
-
ডেটা
ArrayBuffer
যে ডেটা পাঠাতে হবে।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(bytesSent: number) => void
-
bytesSent
নম্বর
যত বাইট পাঠানো হয়েছে।
-
রিটার্ন
-
Promise<number>
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
কোনও কানেক্ট করা সকেটকে তার পিয়ার থেকে মেসেজ পাওয়া অথবা কোনও লিসেনিং সকেটকে নতুন কানেকশন গ্রহণ করা থেকে চালু বা বন্ধ করে। ডিফল্ট ভ্যালু হল "false"। কানেক্ট করা সকেট পজ করার সুবিধা সাধারণত কোনও অ্যাপ্লিকেশন তার পিয়ারের পাঠানো ডেটা থ্রটল করার জন্য ব্যবহার করে। কানেক্ট করা সকেট পজ করা হলে, কোনও onReceiveইভেন্ট তৈরি হয় না। সকেট কানেক্ট করা ও আন-পজ করা হলে, মেসেজ পাওয়ার সময় onReceive ইভেন্ট আবার শুরু হয়। লিসেনিং সকেট পজ করা হলে, ব্যাকলগ ভর্তি না হওয়া পর্যন্ত নতুন কানেকশন গ্রহণ করা হয়, তারপর অতিরিক্ত কানেকশনের অনুরোধ প্রত্যাখ্যান করা হয়। সকেট আন-পজ করা থাকলে তবেই onAccept ইভেন্ট তৈরি হয়।
প্যারামিটারগুলি
-
socketId
নম্বর
-
সাময়িক ভাবে থামানো হয়েছে
বুলিয়ান
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
update()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
সকেট প্রপার্টি আপডেট করে।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট শনাক্তকারী।
-
প্রপার্টি
আপডেট করার জন্য প্রপার্টি।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
ইভেন্ট
onAccept
chrome.bluetoothSocket.onAccept.addListener(
callback: function,
)
প্রদত্ত সকেটের জন্য কানেকশন তৈরি করা হলে ইভেন্ট শুরু হয়।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(info: AcceptInfo) => void
-
তথ্য
-
onAcceptError
chrome.bluetoothSocket.onAcceptError.addListener(
callback: function,
)
প্রদত্ত সকেটে নতুন কানেকশনের জন্য রানটাইম অপেক্ষা করার সময় নেটওয়ার্কের সমস্যা হলে ইভেন্ট তৈরি হয়। এই ইভেন্টটি একবার উত্থাপিত হলে, সকেটটি paused-এ সেট করা হয় এবং এই সকেটের জন্য আর কোনও onAccept ইভেন্ট উত্থাপিত হয় না।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(info: AcceptErrorInfo) => void
-
তথ্য
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
প্রদত্ত সকেটের জন্য ডেটা পাওয়া গেলে ইভেন্ট তৈরি হয়।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(info: ReceiveInfo) => void
-
তথ্য
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
সকেটে ডেটার জন্য রানটাইম অপেক্ষা করার সময় নেটওয়ার্কের সমস্যা হলে ইভেন্ট তৈরি হয়। এই ইভেন্টটি একবার উত্থাপিত হলে, সকেটটি paused-এ সেট করা হয় এবং এই সকেটের জন্য আর কোনও onReceive ইভেন্ট উত্থাপিত হয় না।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(info: ReceiveErrorInfo) => void
-
তথ্য
-