chrome.bluetoothSocket

বিবরণ

RFCOMM ও L2CAP কানেকশন ব্যবহার করে ব্লুটুথ ডিভাইসে ডেটা পাঠাতে ও সেখান থেকে ডেটা পেতে chrome.bluetoothSocket API ব্যবহার করুন।

উপলভ্যতা

শুধুমাত্র ChromeOS

ম্যানিফেস্ট

এই API ব্যবহার করতে নিম্নলিখিত কীগুলি ম্যানিফেস্টে ঘোষণা করতে হবে।

"bluetooth"

ধরন

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