chrome.bluetoothSocket

תיאור

משתמשים ב-chrome.bluetoothSocket API כדי לשלוח ולקבל נתונים למכשירי Bluetooth באמצעות חיבורי RFCOMM ו-L2CAP.

מניפסט

כדי להשתמש ב-API הזה, צריך להצהיר על המפתחות הבאים במניפסט.

"bluetooth"

סוגים

AcceptError

Enum

system_error
אירעה שגיאת מערכת, ויכול להיות שאי אפשר יהיה לשחזר את החיבור.

not_listening
הסוקט לא בהאזנה.

AcceptErrorInfo

מאפיינים

  • error

    קוד שגיאה שמציין מה השתבש.

  • errorMessage

    מחרוזת

    הודעת השגיאה.

  • socketId

    number

    מזהה שקע השרת.

AcceptInfo

מאפיינים

  • clientSocketId

    number

    מזהה שקע הלקוח, כלומר מזהה השקע של החיבור החדש שנוצר. המזהה הזה של שקע צריך לשמש רק עם פונקציות ממרחב השמות chrome.bluetoothSocket. שימו לב: שקע הלקוח מושהה בהתחלה, והאפליקציה צריכה לבטל את ההשהיה שלו באופן מפורש כדי להתחיל לקבל נתונים.

  • socketId

    number

    מזהה שקע השרת.

CreateInfo

מאפיינים

  • socketId

    number

    המזהה של שקע ה-socket החדש שנוצר. שימו לב שמזהי Socket שנוצרו מ-API הזה לא תואמים למזהי Socket שנוצרו מ-API אחר, כמו [sockets.tcp](../sockets_tcp/) API.

ListenOptions

מאפיינים

  • backlog

    מספר אופציונלי

    אורך תור ההמתנה של השקע. ערך ברירת המחדל תלוי במערכת המשנה של המארח במערכת ההפעלה.

  • ערוץ

    מספר אופציונלי

    ערוץ RFCOMM שמשמש את listenUsingRfcomm. אם מציינים ערוץ, הוא לא יכול להיות בשימוש קודם, אחרת קריאת השיטה תיכשל. אם לא מציינים ערוץ, המערכת מקצה אוטומטית ערוץ שלא נמצא בשימוש.

  • psm

    מספר אופציונלי

    ה-L2CAP PSM שבו נעשה שימוש על ידי listenUsingL2cap. אם מציינים PSM, הוא לא יכול להיות בשימוש קודם, אחרת קריאת השיטה תיכשל. אם לא מציינים PSM, המערכת מקצה באופן אוטומטי PSM שלא נמצא בשימוש.

ReceiveError

Enum

"disconnected"
החיבור נותק.

system_error
אירעה שגיאת מערכת, ויכול להיות שאי אפשר יהיה לשחזר את החיבור.

not_connected
השקע לא חובר.

ReceiveErrorInfo

מאפיינים

  • error

    קוד שגיאה שמציין מה השתבש.

  • errorMessage

    מחרוזת

    הודעת השגיאה.

  • socketId

    number

    המזהה של שקע ה-socket.

ReceiveInfo

מאפיינים

  • נתונים

    ArrayBuffer

    הנתונים שהתקבלו, בגודל מקסימלי של bufferSize.

  • socketId

    number

    המזהה של שקע ה-socket.

SocketInfo

מאפיינים

  • כתובת

    מחרוזת אופציונלי

    אם שקע הבסיס מחובר, הערך מכיל את כתובת ה-Bluetooth של המכשיר שאליו הוא מחובר.

  • bufferSize

    מספר אופציונלי

    גודל המאגר שמשמש לקבלת נתונים. אם לא צוין גודל מאגר באופן מפורש, הערך לא יסופק.

  • מחובר

    בוליאני

    סימון שמציין אם שקע הרשת מחובר למחשב עמית מרוחק.

  • שם

    מחרוזת אופציונלי

    מחרוזת שהוגדרה על ידי האפליקציה ומשויכת לשקע.

  • מושהה

    בוליאני

    דגל שמציין אם שקע מחובר חוסם את עמיתו מלשלוח נתונים נוספים, או אם בקשות חיבור בשקע האזנה נשלחות דרך אירוע onAccept או מוכנסות לתור בעומס יתר של תור ההאזנה. setPaused. ערך ברירת המחדל הוא false.

  • קבוע

    בוליאני

    דגל שמציין אם השקע נשאר פתוח כשדף האירוע של האפליקציה לא נטען (ראו SocketProperties.persistent). ערך ברירת המחדל הוא false.

  • socketId

    number

    המזהה של שקע ה-socket.

  • uuid

    מחרוזת אופציונלי

    אם שקע הבסיס מחובר, הוא מכיל מידע על ה-UUID של השירות שאליו הוא מחובר. אחרת, אם שקע הבסיס נמצא במצב האזנה, הוא מכיל מידע על ה-UUID של השירות שהוא מאזין לו.

SocketProperties

מאפיינים

  • bufferSize

    מספר אופציונלי

    גודל המאגר שמשמש לקבלת נתונים. ערך ברירת המחדל הוא 4096.

  • שם

    מחרוזת אופציונלי

    מחרוזת שמוגדרת על ידי האפליקציה ומשויכת לשקע.

  • קבוע

    ‫boolean אופציונלי

    דגל שמציין אם השקע נשאר פתוח כשדף האירוע של האפליקציה לא נטען (ראו ניהול מחזור החיים של האפליקציה). ערך ברירת המחדל הוא false. כשמטעינים את האפליקציה, אפשר לאחזר את כל השקעים שנפתחו קודם עם persistent=true באמצעות getSockets.

Methods

close()

Promise
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

הפונקציה מנתקת את השקע ומשמידה אותו. צריך לסגור כל שקע שנוצר אחרי השימוש. מזהה השקע כבר לא תקף ברגע שהפונקציה מופעלת. עם זאת, מובטח שהסוקט ייסגר רק כשהקריאה החוזרת תופעל.

פרמטרים

  • socketId

    number

    המזהה של שקע ה-socket.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    Chrome 91 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

connect()

Promise
chrome.bluetoothSocket.connect(
  socketId: number,
  address: string,
  uuid: string,
  callback?: function,
)
: Promise<void>

מחבר את השקע למכשיר Bluetooth מרוחק. כשהפעולה connect מסתיימת בהצלחה, מופעלים אירועים של onReceive כשמתקבלים נתונים מהעמית. אם מתרחשת שגיאת רשת בזמן שהסביבה העיקרית מקבלת מנות, מופעל אירוע onReceiveError. בשלב הזה, לא יופעל יותר אירוע onReceive עבור הסוקט הזה עד להפעלת השיטה setPaused(false).

פרמטרים

  • socketId

    number

    המזהה של שקע ה-socket.

  • כתובת

    מחרוזת

    הכתובת של מכשיר ה-Bluetooth.

  • uuid

    מחרוזת

    ה-UUID של השירות שאליו רוצים להתחבר.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    Chrome 91 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

create()

Promise
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

יוצר שקע Bluetooth.

פרמטרים

  • נכסים

    SocketProperties אופציונלי

    מאפייני השקע (אופציונלי).

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (createInfo: CreateInfo) => void

    • createInfo

      התוצאה של יצירת השקע.

החזרות

  • Promise<CreateInfo>

    Chrome 91 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

disconnect()

Promise
chrome.bluetoothSocket.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

מנתק את השקע. מזהה השקע נשאר בתוקף.

פרמטרים

  • socketId

    number

    המזהה של שקע ה-socket.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    Chrome 91 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

getInfo()

Promise
chrome.bluetoothSocket.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

מאחזרת את המצב של שקע נתון.

פרמטרים

  • socketId

    number

    המזהה של שקע ה-socket.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (socketInfo: SocketInfo) => void

    • socketInfo

      אובייקט שמכיל את פרטי השקע.

החזרות

  • Promise<SocketInfo>

    Chrome 91 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

getSockets()

Promise
chrome.bluetoothSocket.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

מאחזר את רשימת השקעים הפתוחים כרגע שבבעלות האפליקציה.

פרמטרים

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (sockets: SocketInfo[]) => void

החזרות

  • Promise<SocketInfo[]>

    Chrome 91 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

listenUsingL2cap()

Promise
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)
: Promise<void>

האזנה לחיבורים באמצעות פרוטוקול L2CAP.

פרמטרים

  • socketId

    number

    המזהה של שקע ה-socket.

  • uuid

    מחרוזת

    מזהה UUID של השירות להאזנה.

  • options

    ListenOptions אופציונלי

    אפשרויות נוספות אופציונליות לשירות.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    Chrome 91 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

listenUsingRfcomm()

Promise
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)
: Promise<void>

האזנה לחיבורים באמצעות פרוטוקול RFCOMM.

פרמטרים

  • socketId

    number

    המזהה של שקע ה-socket.

  • uuid

    מחרוזת

    מזהה UUID של השירות להאזנה.

  • options

    ListenOptions אופציונלי

    אפשרויות נוספות אופציונליות לשירות.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    Chrome 91 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

send()

Promise
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<number>

שולחת נתונים בשקע Bluetooth שצוין.

פרמטרים

  • socketId

    number

    המזהה של שקע ה-socket.

  • נתונים

    ArrayBuffer

    הנתונים לשליחה.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (bytesSent: number) => void

    • bytesSent

      number

      מספר הבייטים שנשלחו.

החזרות

  • Promise<number>

    Chrome 91 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

setPaused()

Promise
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

הפונקציה מאפשרת או משביתה קבלת הודעות משקע עמית או קבלת חיבורים חדשים משקע האזנה. ערך ברירת המחדל הוא false. השהיה של שקע מחובר משמשת בדרך כלל אפליקציה כדי להגביל את הנתונים שנשלחים על ידי העמית שלה. כשמשהים שקע מחובר, לא מופעל אירוע onReceive. כששקע מחובר וההשהיה שלו מבוטלת, אירועי onReceive מופעלים שוב כשמתקבלות הודעות. כששקע האזנה מושהה, המערכת מקבלת חיבורים חדשים עד שרשימת ההמתנה שלו מלאה, ואז היא דוחה בקשות חיבור נוספות. אירועי onAccept מופעלים רק כשהשקע מושהה.

פרמטרים

  • socketId

    number

  • מושהה

    בוליאני

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    Chrome 91 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

update()

Promise
chrome.bluetoothSocket.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

עדכון מאפייני השקע.

פרמטרים

  • socketId

    number

    המזהה של שקע ה-socket.

  • נכסים

    המאפיינים לעדכון.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    Chrome 91 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

אירועים

onAccept

chrome.bluetoothSocket.onAccept.addListener(
  callback: function,
)

אירוע שמופעל כשנוצר חיבור לשקע נתון.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (info: AcceptInfo) => void

onAcceptError

chrome.bluetoothSocket.onAcceptError.addListener(
  callback: function,
)

האירוע מופעל כשמתרחשת שגיאת רשת בזמן שהסביבה בזמן הריצה ממתינה לחיבורים חדשים בשקע הנתון. אחרי שהאירוע הזה מופעל, השקע מוגדר ל-paused ולא מופעלים יותר אירועי onAccept בשקע הזה.

פרמטרים

onReceive

chrome.bluetoothSocket.onReceive.addListener(
  callback: function,
)

אירוע שמופעל כשמתקבלים נתונים עבור שקע נתון.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (info: ReceiveInfo) => void

onReceiveError

chrome.bluetoothSocket.onReceiveError.addListener(
  callback: function,
)

האירוע מופעל כשהייתה שגיאה ברשת בזמן שהסביבה העיקרית להפעלת התוכנה המתינה לנתונים בשקע. אחרי שהאירוע הזה מופעל, השקע מוגדר ל-paused ולא מופעלים יותר אירועי onReceive בשקע הזה.

פרמטרים