תיאור
משתמשים ב-API של chrome.bluetoothSocket כדי לשלוח נתונים למכשירי Bluetooth ולקבל מהם נתונים באמצעות חיבורי RFCOMM ו-L2CAP.
זמינות
מניפסט
סוגים
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()
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()
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()
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()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
): Promise<void>
מנתק את השקע. מזהה השקע נשאר בתוקף.
פרמטרים
-
socketId
number
מזהה השקע.
-
callback
function optional
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 91 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
getInfo()
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()
chrome.bluetoothSocket.getSockets(
callback?: function,
): Promise<SocketInfo[]>
אחזור רשימת השקעים הפתוחים כרגע שבבעלות האפליקציה.
פרמטרים
-
callback
function optional
הפרמטר
callbackנראה כך:(sockets: SocketInfo[]) => void
-
שקעים
מערך של אובייקטים שמכילים מידע על שקעים.
-
החזרות
-
Promise<SocketInfo[]>
Chrome מגרסה 91 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
listenUsingL2cap()
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()
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()
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()
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()
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 הזה.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(info: AcceptErrorInfo) => void
-
מידע
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
אירוע שמופעל כשמתקבלים נתונים בשקע נתון.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(info: ReceiveInfo) => void
-
מידע
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
אירוע שמופעל כשיש שגיאה בחיבור לרשת בזמן שזמן הריצה ממתין לנתונים בשקע. אחרי שהאירוע הזה מופעל, ה-socket מוגדר ל-paused ולא מופעלים יותר אירועי onReceive ב-socket הזה.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(info: ReceiveErrorInfo) => void
-
מידע
-