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

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

ListenOptions

מאפיינים

  • עומס עבודה שנצבר

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

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

  • ערוץ

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

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

  • psm

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

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

ReceiveError

Enum

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

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

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

ReceiveErrorInfo

מאפיינים

  • error

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

  • errorMessage

    מחרוזת

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

  • socketId

    number

    מזהה השקע.

ReceiveInfo

מאפיינים

  • נתונים

    ArrayBuffer

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

  • socketId

    number

    מזהה השקע.

SocketInfo

מאפיינים

  • כתובת

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

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

  • bufferSize

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

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

  • מחובר

    בוליאני

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

  • שם

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

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

  • מושהה

    בוליאני

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

  • קבוע

    בוליאני

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

  • socketId

    number

    מזהה השקע.

  • uuid

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

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

SocketProperties

מאפיינים

  • bufferSize

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

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

  • שם

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

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

  • קבוע

    boolean אופציונלי

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

Methods

close()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • קריאה חוזרת (callback)

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

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

    () => void

החזרות

  • Promise<void>

    Chrome מגרסה 91 ואילך

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

connect()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • כתובת

    מחרוזת

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

  • uuid

    מחרוזת

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

  • קריאה חוזרת (callback)

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

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

    () => void

החזרות

  • Promise<void>

    Chrome מגרסה 91 ואילך

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

create()

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

יצירת שקע Bluetooth.

פרמטרים

  • נכסים

    SocketProperties אופציונלי

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

  • קריאה חוזרת (callback)

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

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

    (createInfo: CreateInfo) => void

    • createInfo

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

החזרות

  • Promise<CreateInfo>

    Chrome מגרסה 91 ואילך

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

disconnect()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • קריאה חוזרת (callback)

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

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

    () => void

החזרות

  • Promise<void>

    Chrome מגרסה 91 ואילך

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getInfo()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • קריאה חוזרת (callback)

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

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

החזרות

  • Promise<SocketInfo>

    Chrome מגרסה 91 ואילך

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getSockets()

Promise
chrome.bluetoothSocket.getSockets(
  callback?: function,
)

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

פרמטרים

  • קריאה חוזרת (callback)

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

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

    (sockets: SocketInfo[]) => void

החזרות

  • Promise<SocketInfo[]>

    Chrome מגרסה 91 ואילך

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

listenUsingL2cap()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • uuid

    מחרוזת

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

  • אפשרויות

    ListenOptions אופציונלי

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

  • קריאה חוזרת (callback)

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

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

    () => void

החזרות

  • Promise<void>

    Chrome מגרסה 91 ואילך

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

listenUsingRfcomm()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • uuid

    מחרוזת

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

  • אפשרויות

    ListenOptions אופציונלי

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

  • קריאה חוזרת (callback)

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

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

    () => void

החזרות

  • Promise<void>

    Chrome מגרסה 91 ואילך

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

send()

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

שליחת נתונים ביציאת ה-Bluetooth שצוינה.

פרמטרים

  • socketId

    number

    מזהה השקע.

  • נתונים

    ArrayBuffer

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

  • קריאה חוזרת (callback)

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

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

    (bytesSent: number) => void

    • bytesSent

      number

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

החזרות

  • Promise<number>

    Chrome מגרסה 91 ואילך

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

setPaused()

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

הפונקציה מאפשרת או משביתה את היכולת של שקע מחובר לקבל הודעות מהצינור המקביל, או את היכולת של שקע שמאזין לקבל חיבורים חדשים. ערך ברירת המחדל הוא 'false'. בדרך כלל, אפליקציה משתמשת בהשהיה של שקע מחובר כדי לצמצם את נפח הנתונים שנשלחים על ידי השותף שלה. כששקע מחובר מושהה, לא מתרחש אירוע onReceive. כשהשקע מחובר ולא מושהה, אירועי onReceive מתרחשים שוב כשמתקבלות הודעות. כששקע הקשבה מושהה, חיבורים חדשים מתקבלים עד שהתור שלהם מתמלא, ואז בקשות חיבור נוספות נדחות. אירועי onAccept מתרחשים רק כשה-socket מופעל מחדש.

פרמטרים

  • socketId

    number

  • מושהה

    בוליאני

  • קריאה חוזרת (callback)

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

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

    () => void

החזרות

  • Promise<void>

    Chrome מגרסה 91 ואילך

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

update()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • נכסים

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

  • קריאה חוזרת (callback)

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

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

    () => void

החזרות

  • Promise<void>

    Chrome מגרסה 91 ואילך

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

אירועים

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 ביציאה הזו.

פרמטרים