תיאור
משתמשים ב-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.
Enum
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
המזהה של שקע ה-socket.
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 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
יוצר שקע UDP עם המאפיינים שצוינו.
פרמטרים
-
נכסים
SocketProperties אופציונלי
מאפייני השקע (אופציונלי).
-
callback
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(createInfo: CreateInfo) => void
-
createInfo
התוצאה של יצירת השקע.
-
החזרות
-
Promise<CreateInfo>
Chrome 121 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
מאחזרת את המצב של שקע נתון.
פרמטרים
-
socketId
number
מזהה השקע.
-
callback
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(socketInfo: SocketInfo) => void
-
socketInfo
אובייקט שמכיל את פרטי השקע.
-
החזרות
-
Promise<SocketInfo>
Chrome 121 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
): Promise<string[]>
מקבל את כתובות הקבוצה של שידור מרובה משתתפים שהסוקט הצטרף אליהן כרגע.
פרמטרים
-
socketId
number
מזהה השקע.
-
callback
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(groups: string[]) => void
-
קבוצות
string[]
מערך של קבוצות שהסוקט הצטרף אליהן.
-
החזרות
-
Promise<string[]>
Chrome 121 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
מאחזר את רשימת השקעים הפתוחים כרגע שבבעלות האפליקציה.
פרמטרים
-
callback
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(socketInfos: SocketInfo[]) => void
-
socketInfos
מערך של אובייקטים שמכילים פרטים על שקע.
-
החזרות
-
Promise<SocketInfo[]>
Chrome 121 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
): void
המשתמש מצטרף לקבוצת מולטיקאסט ומתחיל לקבל חבילות מהקבוצה הזו. לפני שמבצעים קריאה לשיטה הזו, צריך לקשור את השקע ליציאה מקומית.
פרמטרים
-
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
שולח נתונים בשקע הנתון לכתובת ולפורט הנתונים. לפני שמבצעים קריאה לשיטה הזו, צריך לקשור את השקע ליציאה מקומית.
פרמטרים
-
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 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
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
-
מידע
-