תיאור
יש להשתמש ב-API chrome.sockets.udp
כדי לשלוח ולקבל נתונים ברשת באמצעות חיבורי UDP. ממשק API זה מחליף את פונקציונליות ה-UDP שהייתה קיימת בעבר ב-API "socket".
מניפסט
סוגים
CreateInfo
תכונות
-
socketId
מספר
המזהה של השקע החדש שנוצר. חשוב לדעת שמזהי socket שנוצרו מה-API הזה לא תואמים למזהי socket שנוצרו מממשקי API אחרים, כמו ה-API
[
socket](../socket/)
שהוצא משימוש.
DnsQueryType
העדפות לגבי רזולוציית DNS. ברירת המחדל היא any
ומשתמשת בהגדרת מערכת ההפעלה הנוכחית, שעשויה להחזיר IPv4 או IPv6. ipv4
מאלצת את IPv4 ו-ipv6
מאלצת את IPv6.
טיפוסים בני מנייה (enum)
"ipv4"
"ipv6"
ReceiveErrorInfo
תכונות
-
resultCode
מספר
קוד התוצאה שהוחזר מקריאת recvfrom() הבסיסית.
-
socketId
מספר
מזהה השקע.
ReceiveInfo
תכונות
-
נתונים
ArrayBuffer
התוכן של חבילת ה-UDP (קטוע לגודל מאגר הנתונים הזמני הנוכחי).
-
remoteAddress
מחרוזת
הכתובת של המארח שממנו מגיעה החבילה.
-
remotePort
מספר
היציאה של המארח שממנה מגיעה החבילה.
-
socketId
מספר
מזהה השקע.
SendInfo
תכונות
-
bytesSent
מספר אופציונלי
מספר הבייטים שנשלחו (אם התוצאה = 0)
-
resultCode
מספר
קוד התוצאה שהוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
SocketInfo
תכונות
-
bufferSize
מספר אופציונלי
גודל המאגר הזמני המשמש לקבלת נתונים. אם לא צוין גודל מאגר נתונים באופן מפורש, הערך לא יסופק.
-
localAddress
מחרוזת אופציונלי
אם השקע הבסיסי מחויב, מכיל את כתובת IPv4/6 המקומית שלו.
-
localPort
מספר אופציונלי
אם השקע הבסיסי מחויב, מכיל את היציאה המקומית שלו.
-
name
מחרוזת אופציונלי
מחרוזת בהגדרת האפליקציה שמשויכת לשקע.
-
מושהה
boolean
סימון שמציין אם השקע חסום להפעלה של אירועי onReceive.
-
מתמיד
boolean
סימון שמציין אם השקע נשאר פתוח כשהאפליקציה מושעית (יש לעיין ב-
SocketProperties.persistent
). -
socketId
מספר
מזהה השקע.
SocketProperties
תכונות
-
bufferSize
מספר אופציונלי
גודל המאגר הזמני המשמש לקבלת נתונים. אם המאגר קטן מדי מכדי לקבל את מנת ה-UDP, הנתונים יאבדו. ערך ברירת המחדל הוא 4096.
-
name
מחרוזת אופציונלי
מחרוזת המוגדרת על ידי האפליקציה המשויכת לשקע.
-
מתמיד
בוליאני אופציונלי
סימון שמציין אם השקע נשאר פתוח כשדף האירוע של האפליקציה לא נטען (ראו ניהול מחזור החיים של אפליקציה). ערך ברירת המחדל הוא 'false'. כשהאפליקציה נטענת, אפשר לאחזר כל שקע (sockets) שנפתח בעבר באמצעות persistent=true באמצעות
getSockets
.
שיטות
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
הפונקציה מחייבת את הכתובת המקומית והיציאה של השקע. בשקע לקוח, מומלץ להשתמש ביציאה 0 כדי לאפשר לפלטפורמה לבחור יציאה פנויה.
אחרי שהפעולה bind
תסתיים בהצלחה, אירועים של onReceive
יעלו כשמנות UDP מגיעות לכתובת או ליציאה שצוינו, אלא אם השקע מושהה.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
כתובת
מחרוזת
הכתובת של המכונה המקומית. המערכת תומכת בפורמטים של שם DNS, IPv4 ו-IPv6. יש להשתמש ב-'0.0.0.0' כדי לקבל חבילות מכל ממשקי הרשת הזמינים המקומיים.
-
יציאה
מספר
היציאה של המכונה המקומית. משתמשים ב-'0' כדי לקשר ליציאה פנויה.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
קוד התוצאה שהוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
-
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
)
סוגר את השקע ומשחרר את הכתובת או היציאה שאליהם השקע מקושר. כל שקע שנוצר צריך להיסגר לאחר השימוש. מזהה השקע כבר לא בתוקף ברגע שמפעילים את הפונקציה. עם זאת, מובטח שהשקע ייסגר רק לאחר הפעלת הקריאה החוזרת.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome 121 ומעלההבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
)
יוצר שקע UDP עם המאפיינים הנתונים.
פרמטרים
-
נכסים
SocketProperties אופציונלי
מאפייני השקע (אופציונלי).
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(createInfo: CreateInfo) => void
-
createInfo
התוצאה של יצירת השקע.
-
החזרות
-
Promise<CreateInfo>
Chrome 121 ומעלההבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
)
אחזור המצב של השקע הנתון.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(socketInfo: SocketInfo) => void
-
socketInfo
אובייקט שמכיל את פרטי השקע.
-
החזרות
-
Promise<SocketInfo>
Chrome 121 ומעלההבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
)
הפונקציה מקבלת את הכתובות של הקבוצה מרובת השידורים שאליה השקע מחובר כרגע.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(groups: string[]) => void
-
קבוצות
מחרוזת[]
מערך של קבוצות שאליהן השקע חבר.
-
החזרות
-
הבטחה<string[]>
Chrome 121 ומעלההבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
)
מאחזר את רשימת ה-sockets שפתוחים כרגע בבעלות האפליקציה.
פרמטרים
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(socketInfos: SocketInfo[]) => void
-
socketInfos
מערך של אובייקט שמכיל מידע על השקע.
-
החזרות
-
Promise<SocketInfo[]>
Chrome 121 ומעלההבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
)
מצטרף לקבוצה של שידורים מרובים (multicast) ומתחיל לקבל חבילות מהקבוצה. לפני הקריאה לשיטה הזו, השקע חייב להיות מקושר ליציאה מקומית.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
כתובת
מחרוזת
כתובת הקבוצה שאליה צריך להצטרף. שמות דומיינים לא נתמכים.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
קוד התוצאה שהוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
)
עוזב את הקבוצה שאליה הצטרפת בעבר באמצעות joinGroup
. הפעולה הזו נחוצה רק אם מתכוונים להמשיך להשתמש בשקע לאחר מכן, כי מערכת ההפעלה תבצע את הפעולה באופן אוטומטי כשהשקע ייסגר.
עזיבת הקבוצה תמנע מהנתב לשלוח מבני נתונים של שידורים מרובים למארח המקומי, בהנחה שאף תהליך אחר במארח עדיין לא מצורף לקבוצה.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
כתובת
מחרוזת
כתובת הקבוצה שאליה צריך לצאת. שמות דומיינים לא נתמכים.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
קוד התוצאה שהוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
-
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
)
שליחת נתונים בשקע נתון לכתובת וליציאה הנתונים. לפני הקריאה לשיטה הזו, השקע חייב להיות מקושר ליציאה מקומית.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
נתונים
ArrayBuffer
הנתונים לשליחה.
-
כתובת
מחרוזת
הכתובת של המכונה המרוחקת.
-
יציאה
מספר
היציאה של המכונה המרוחקת.
-
dnsQueryType
DnsQueryType אופציונלי
Chrome מגרסה 103 ואילךההעדפה לפתרון כתובת.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(sendInfo: SendInfo) => void
-
sendInfo
תוצאה של השיטה
send
.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
)
מפעילה או משביתה חבילות שידור בשקע הזה.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
פעיל
boolean
true
כדי להפעיל מנות שידור,false
כדי להשבית אותן. -
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
קוד התוצאה שהוחזר מקריאת הרשת הבסיסית.
-
setMulticastLoopbackMode()
chrome.sockets.udp.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
המדיניות הזו קובעת אם חבילות של שידורים מרובים שנשלחות מהמארח לקבוצה של שידורים מרובים יוחזרו בלולאה אל המארח.
הערה: ההתנהגות של setMulticastLoopbackMode
שונה מעט בין מערכות דמויות Windows ו-Unix. חוסר העקביות קורה רק כאשר יש יותר מאפליקציה אחת באותו מארח שמחוברת לאותה קבוצה של שידורים מרובים, כשיש הגדרות שונות במצב הלולאה החוזרת של שידורים מרובים. ב-Windows, אפליקציות עם לולאה חוזרת כבויות לא יקבלו את מנות הלולאה החוזרת; בעוד שבמערכות דמויי Unix, האפליקציות עם הלולאה החוזרת כבויות לא ישלחו את מנות הלולאה החוזרת לאפליקציות אחרות באותו מארח. אפשר לעיין ב-MSDN: http://goo.gl/6vqbj
כדי להפעיל את השיטה הזו, לא נדרשת הרשאות להעברת שידורים מרובים.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
פעיל
boolean
יש לציין אם להפעיל מצב לולאה חוזרת.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
קוד התוצאה שהוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
מגדיר את משך החיים של מנות העברה לקבוצה שנשלחות לקבוצה של שידורים מרובים.
כדי להפעיל את השיטה הזו, לא נדרשת הרשאות להעברת שידורים מרובים.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
ttl
מספר
הערך של משך החיים.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
קוד התוצאה שהוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
השהיה או ביטול ההשהיה של שקע. שקע מושהה חסום להפעלה של onReceive
אירועים.
פרמטרים
-
socketId
מספר
-
מושהה
boolean
סימון כדי לציין אם להשהות או לבטל את ההשהיה.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome 121 ומעלההבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
עדכון מאפייני השקע.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
נכסים
המאפיינים שצריך לעדכן.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome 121 ומעלההבטחות נתמכות רק במניפסט מגרסה 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
-
מידע
-