תיאור
משתמשים ב-chrome.sockets.udp API כדי לשלוח ולקבל נתונים ברשת באמצעות חיבורי UDP. ה-API הזה מחליף את הפונקציונליות של UDP שהייתה קיימת בעבר ב-API של socket.
מניפסט
סוגים
CreateInfo
מאפיינים
-
socketId
number
המזהה של שקע ה-Socket שנוצר. שימו לב שמזהי socket שנוצרו מ-API הזה לא תואמים למזהי socket שנוצרו מ-API אחרים, כמו
[socket](../socket/)API שיצא משימוש.
DnsQueryType
העדפות של פענוח DNS. ברירת המחדל היא any והיא משתמשת בהגדרת מערכת ההפעלה הנוכחית, שיכולה להחזיר IPv4 או IPv6. ipv4 מאלץ IPv4, ו-ipv6 מאלץ IPv6.
ספירה
"any"
"ipv4"
"ipv6"
ReceiveErrorInfo
מאפיינים
-
resultCode
number
קוד התוצאה שמוחזר מהקריאה הבסיסית recvfrom().
-
socketId
number
מזהה השקע.
ReceiveInfo
מאפיינים
-
נתונים
ArrayBuffer
תוכן מנות ה-UDP (חלק מהתוכן מוצג בהתאם לגודל המאגר הנוכחי).
-
remoteAddress
מחרוזת
הכתובת של המארח שממנו מגיעה חבילת הנתונים.
-
remotePort
number
היציאה של המארח שממנו מגיע החבילה.
-
socketId
number
מזהה השקע.
SendInfo
מאפיינים
-
bytesSent
מספר אופציונלי
מספר הבייטים שנשלחו (אם התוצאה היא 0)
-
resultCode
number
קוד התוצאה שמוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
SocketInfo
מאפיינים
-
bufferSize
מספר אופציונלי
גודל המאגר שמשמש לקבלת נתונים. אם לא צוין גודל מאגר באופן מפורש, הערך לא יסופק.
-
localAddress
מחרוזת אופציונלי
אם השקע הבסיסי מאוגד, הוא מכיל את כתובת ה-IPv4/6 המקומית שלו.
-
localPort
מספר אופציונלי
אם השקע הבסיסי מאוגד, הערך מכיל את היציאה המקומית שלו.
-
שם
מחרוזת אופציונלי
מחרוזת שהוגדרה על ידי האפליקציה ומשויכת לשקע.
-
מושהה
בוליאני
סימון שמציין אם השקע חסום מהפעלת אירועי onReceive.
-
קבוע
בוליאני
דגל שמציין אם השקע נשאר פתוח כשהאפליקציה מושהית (ראו
SocketProperties.persistent). -
socketId
number
מזהה השקע.
SocketProperties
מאפיינים
-
bufferSize
מספר אופציונלי
גודל המאגר שמשמש לקבלת נתונים. אם המאגר קטן מדי בשביל לקבל את מנת ה-UDP, הנתונים יאבדו. ערך ברירת המחדל הוא 4096.
-
שם
מחרוזת אופציונלי
מחרוזת שמוגדרת על ידי האפליקציה ומשויכת לשקע.
-
קבוע
boolean אופציונלי
דגל שמציין אם השקע נשאר פתוח כשדף האירוע של האפליקציה מבוטל (ראו ניהול מחזור החיים של האפליקציה). ערך ברירת המחדל הוא false. כשהאפליקציה נטענת, אפשר לאחזר שקעים שנפתחו קודם עם persistent=true באמצעות
getSockets.
Methods
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
קושר את הכתובת המקומית ואת היציאה לשקע. במקרה של שקע לקוח, מומלץ להשתמש ביציאה 0 כדי לאפשר לפלטפורמה לבחור יציאה פנויה.
אחרי שהפעולה bind מסתיימת בהצלחה, אירועים מסוג onReceive מופעלים כשחבילות UDP מגיעות לכתובת או ליציאה שצוינו – אלא אם השקע מושהה.
פרמטרים
-
socketId
number
מזהה השקע.
-
כתובת
מחרוזת
הכתובת של המכונה המקומית. יש תמיכה בפורמטים של שם DNS, IPv4 ו-IPv6. אפשר להשתמש בכתובת 0.0.0.0 כדי לקבל מנות מכל ממשקי הרשת המקומיים הזמינים.
-
ניוד
number
היציאה של המכונה המקומית. כדי לבצע איגוד ליציאה פנויה, משתמשים בערך '0'.
-
callback
פונקציה
הפרמטר
callbackנראה כך:(result: number) => void
-
תוצאה
number
קוד התוצאה שמוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
-
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
): Promise<void>
סוגר את השקע ומשחרר את הכתובת או היציאה שהשקע קשור אליהן. צריך לסגור כל שקע שנוצר אחרי השימוש בו. מזהה השקע כבר לא תקף ברגע שהפונקציה מופעלת. עם זאת, מובטח שהסוקט ייסגר רק כשהקריאה החוזרת תופעל.
פרמטרים
-
socketId
number
מזהה השקע.
-
callback
פונקציה אופציונלי
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 121 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
יוצר שקע UDP עם המאפיינים שצוינו.
פרמטרים
-
נכסים
SocketProperties אופציונלי
מאפייני השקע (אופציונלי).
-
callback
פונקציה אופציונלי
הפרמטר
callbackנראה כך:(createInfo: CreateInfo) => void
-
createInfo
התוצאה של יצירת השקע.
-
החזרות
-
Promise<CreateInfo>
Chrome 121 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
מאחזרת את המצב של שקע נתון.
פרמטרים
-
socketId
number
מזהה השקע.
-
callback
פונקציה אופציונלי
הפרמטר
callbackנראה כך:(socketInfo: SocketInfo) => void
-
socketInfo
אובייקט שמכיל את פרטי השקע.
-
החזרות
-
Promise<SocketInfo>
Chrome 121 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
): Promise<string[]>
הפונקציה מחזירה את כתובות הקבוצה של שידור מרובה משתתפים שאליהן מצורף כרגע השקע.
פרמטרים
-
socketId
number
מזהה השקע.
-
callback
פונקציה אופציונלי
הפרמטר
callbackנראה כך:(groups: string[]) => void
-
קבוצות
string[]
מערך של קבוצות שהסוקט הצטרף אליהן.
-
החזרות
-
Promise<string[]>
Chrome 121 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
מאחזר את רשימת השקעים הפתוחים כרגע שבבעלות האפליקציה.
פרמטרים
-
callback
פונקציה אופציונלי
הפרמטר
callbackנראה כך:(socketInfos: SocketInfo[]) => void
-
socketInfos
מערך של אובייקטים שמכילים פרטים על שקע.
-
החזרות
-
Promise<SocketInfo[]>
Chrome 121 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
): void
המשתמש מצטרף לקבוצת ה-Multicast ומתחיל לקבל חבילות מהקבוצה הזו. לפני שמפעילים את ה-method הזו, צריך לקשור את ה-socket ליציאה מקומית.
פרמטרים
-
socketId
number
מזהה השקע.
-
כתובת
מחרוזת
כתובת הקבוצה שאליה רוצים להצטרף. אין תמיכה בשמות דומיין.
-
callback
פונקציה
הפרמטר
callbackנראה כך:(result: number) => void
-
תוצאה
number
קוד התוצאה שמוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
יוצא מקבוצת ה-Multicast שהצטרף אליה קודם באמצעות joinGroup. הפעולה הזו נדרשת רק אם מתכננים להמשיך להשתמש בסוקט לאחר מכן, כי מערכת ההפעלה תבצע אותה באופן אוטומטי כשהסוקט ייסגר.
אם תעזבו את הקבוצה, הנתב לא ישלח יותר חבילות נתונים של שידור מרובה משתתפים למארח המקומי, בהנחה שאין תהליך אחר במארח שמחובר עדיין לקבוצה.
פרמטרים
-
socketId
number
מזהה השקע.
-
כתובת
מחרוזת
כתובת הקבוצה שרוצים לעזוב. אין תמיכה בשמות דומיין.
-
callback
פונקציה
הפרמטר
callbackנראה כך:(result: number) => void
-
תוצאה
number
קוד התוצאה שמוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
-
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
שולחת נתונים בשקע הנתון לכתובת ולפורט הנתונים. לפני שמפעילים את ה-method הזו, צריך לקשור את ה-socket ליציאה מקומית.
פרמטרים
-
socketId
number
מזהה השקע.
-
נתונים
ArrayBuffer
הנתונים שרוצים לשלוח.
-
כתובת
מחרוזת
הכתובת של המכונה המרוחקת.
-
ניוד
number
היציאה של המחשב המרוחק.
-
dnsQueryType
DnsQueryType optional
Chrome 103 ואילךהעדפת המרת כתובת.
-
callback
פונקציה
הפרמטר
callbackנראה כך:(sendInfo: SendInfo) => void
-
sendInfo
התוצאה של השיטה
send.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
): void
הפעלה או השבתה של חבילות שידור בשקע הזה.
פרמטרים
-
socketId
number
מזהה השקע.
-
פעיל
בוליאני
trueכדי להפעיל חבילות שידור,falseכדי להשבית אותן. -
callback
פונקציה
הפרמטר
callbackנראה כך:(result: number) => void
-
תוצאה
number
קוד התוצאה שמוחזר מקריאת הרשת הבסיסית.
-
setMulticastLoopbackMode()
chrome.sockets.udp.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
ההגדרה הזו קובעת אם חבילות מולטיקאסט שנשלחות מהמארח לקבוצת המולטיקאסט יוחזרו למארח.
הערה: ההתנהגות של setMulticastLoopbackMode שונה מעט בין Windows לבין מערכות דמויות Unix. חוסר העקביות מתרחש רק כשיש יותר מאפליקציה אחת באותו מארח שמצטרפת לאותה קבוצת מולטיקאסט, ומוגדרות לה הגדרות שונות במצב של לולאת חזרה של מולטיקאסט. ב-Windows, האפליקציות שהלולאה החוזרת שלהן מושבתת לא יקבלו את מנות הלולאה החוזרת. במערכות כמו Unix, האפליקציות שהלולאה החוזרת שלהן מושבתת לא ישלחו את מנות הלולאה החוזרת לאפליקציות אחרות באותו מארח. מידע נוסף זמין ב-MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2
הקריאה ל-method הזה לא דורשת הרשאות מרובות משתתפים.
פרמטרים
-
socketId
number
מזהה השקע.
-
פעיל
בוליאני
מציינת אם להפעיל את מצב הלולאה החוזרת.
-
callback
פונקציה
הפרמטר
callbackנראה כך:(result: number) => void
-
תוצאה
number
קוד התוצאה שמוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
מגדיר את משך החיים של חבילות נתונים של שידור מרובה משתתפים שנשלחות לקבוצת השידור המרובה.
כדי לקרוא ל-method הזה לא נדרשות הרשאות לשידור מרובה משתתפים.
פרמטרים
-
socketId
number
מזהה השקע.
-
ttl
number
ערך הזמן לחיים.
-
callback
פונקציה
הפרמטר
callbackנראה כך:(result: number) => void
-
תוצאה
number
קוד התוצאה שמוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
משהה או מבטל את ההשהיה של שקע. שקע מושהה לא יכול להפעיל אירועי onReceive.
פרמטרים
-
socketId
number
מזהה השקע.
-
מושהה
בוליאני
סימון שמציין אם להשהות או לבטל את ההשהיה.
-
callback
פונקציה אופציונלי
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 121 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
עדכון מאפייני השקע.
פרמטרים
-
socketId
number
מזהה השקע.
-
נכסים
המאפיינים לעדכון.
-
callback
פונקציה אופציונלי
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 121 ואילךההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).
אירועים
onReceive
chrome.sockets.udp.onReceive.addListener(
callback: function,
)
האירוע מופעל כשמתקבל חבילת UDP עבור השקע הנתון.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(info: ReceiveInfo) => void
-
מידע
-
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
האירוע מופעל כשהתרחשה שגיאת רשת בזמן שהסביבה העסקית המשותפת המתינה לנתונים בכתובת ובפורט של שקע התקשורת. אחרי שהאירוע הזה מופעל, השקע מושהה ולא יופעלו עוד אירועי onReceive בשקע הזה עד שהשקע יופעל מחדש.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(info: ReceiveErrorInfo) => void
-
מידע
-