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 החדש שנוצר. שימו לב שמזהי שקעים שנוצרו מ-API זה לא תואמים למזהי שקעים שנוצרו מ-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 בשקע הזה.

פרמטרים