chrome.bluetoothSocket

תיאור

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

זמינות

ChromeOS בלבד

מניפסט

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

"bluetooth"

סוגים

AcceptError

טיפוסים בני מנייה (enum)

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

"not_listening"
השקע לא מאזין.

AcceptErrorInfo

מאפיינים

  • error

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

  • errorMessage

    מחרוזת

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

  • socketId

    number

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

AcceptInfo

מאפיינים

  • clientSocketId

    number

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

  • socketId

    number

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

CreateInfo

מאפיינים

  • socketId

    number

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

ListenOptions

מאפיינים

  • צבר משימות

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

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

  • ערוץ

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

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

  • psm

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

    ‫L2CAP PSM שמשמש את listenUsingL2cap. אם מציינים את ה-PSM הזה, אסור שהוא יהיה בשימוש, אחרת הפעלת ה-method תיכשל. אם לא תציינו 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.

  • שם

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

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

  • קבוע

    בוליאני אופציונלי

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

Methods

close()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

connect()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • כתובת

    מחרוזת

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

  • uuid

    מחרוזת

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

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

create()

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

יוצר שקע Bluetooth.

פרמטרים

  • נכסים

    ‫SocketProperties אופציונלי

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

  • callback

    function optional

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

    (createInfo: CreateInfo) => void

    • createInfo

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

החזרות

  • Promise<CreateInfo>

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

disconnect()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

getInfo()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • callback

    function optional

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

החזרות

  • Promise<SocketInfo>

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

getSockets()

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

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

פרמטרים

  • callback

    function optional

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

    (sockets: SocketInfo[]) => void

    • שקעים

      מערך של אובייקטים שמכילים מידע על שקעים.

החזרות

  • Promise<SocketInfo[]>

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

listenUsingL2cap()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • uuid

    מחרוזת

    מזהה ייחודי אוניברסלי (UUID) של השירות להאזנה.

  • אפשרויות

    ‫ListenOptions אופציונלי

    אפשרויות נוספות לשירות (לא חובה).

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

listenUsingRfcomm()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • uuid

    מחרוזת

    מזהה ייחודי אוניברסלי (UUID) של השירות להאזנה.

  • אפשרויות

    ‫ListenOptions אופציונלי

    אפשרויות נוספות לשירות (לא חובה).

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

send()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • נתונים

    ArrayBuffer

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

  • callback

    function optional

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

    (bytesSent: number) => void

    • bytesSent

      number

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

החזרות

  • Promise<number>

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

setPaused()

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

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

פרמטרים

  • socketId

    number

  • מושהה

    בוליאני

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

update()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • נכסים

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

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

אירועים

onAccept

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

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

פרמטרים

  • callback

    פונקציה

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

    (info: AcceptInfo) => void

onAcceptError

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

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

פרמטרים

onReceive

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

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

פרמטרים

  • callback

    פונקציה

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

    (info: ReceiveInfo) => void

onReceiveError

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

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

פרמטרים