תיאור
משתמשים ב-API של chrome.sockets.tcp כדי לשלוח ולקבל נתונים ברשת באמצעות חיבורי TCP. ה-API הזה מחליף את הפונקציונליות של TCP שהייתה בעבר ב-API של chrome.socket.
מניפסט
סוגים
CreateInfo
מאפיינים
-
socketId
number
המזהה של השקע החדש שנוצר. חשוב לשים לב שמזהי שקעים שנוצרו מה-API הזה לא תואמים למזהי שקעים שנוצרו מממשקי API אחרים, כמו ה-API
[socket](../socket/)שהוצא משימוש.
DnsQueryType
העדפות של פענוח DNS. ברירת המחדל היא any, והיא משתמשת בהגדרת מערכת ההפעלה הנוכחית שעשויה להחזיר IPv4 או IPv6. ipv4 מאלץ שימוש ב-IPv4, ו-ipv6 מאלץ שימוש ב-IPv6.
טיפוסים בני מנייה (enum)
"any"
"ipv4"
"ipv6"
ReceiveErrorInfo
מאפיינים
-
resultCode
number
קוד התוצאה שהוחזר מהקריאה לרשת הבסיסית.
-
socketId
number
מזהה השקע.
ReceiveInfo
מאפיינים
-
נתונים
ArrayBuffer
הנתונים שהתקבלו, בגודל מקסימלי של
bufferSize. -
socketId
number
מזהה השקע.
SecureOptions
מאפיינים
-
tlsVersion
TLSVersionConstraints אופציונלי
SendInfo
מאפיינים
-
bytesSent
מספר אופציונלי
מספר הבייטים שנשלחו (אם result == 0)
-
resultCode
number
קוד התוצאה שהוחזר מהקריאה לרשת הבסיסית. ערך שלילי מציין שגיאה.
SocketInfo
מאפיינים
-
bufferSize
מספר אופציונלי
גודל המאגר שמשמש לקבלת נתונים. אם לא צוין במפורש גודל מאגר נתונים, הערך לא יופיע.
-
מחובר
בוליאני
סימון שמציין אם השקע מחובר למחשב מרוחק.
-
localAddress
מחרוזת אופציונלי
אם השקע הבסיסי מחובר, הוא מכיל את כתובת ה-IPv4/6 המקומית שלו.
-
localPort
מספר אופציונלי
אם ה-socket הבסיסי מחובר, הוא מכיל את היציאה המקומית שלו.
-
שם
מחרוזת אופציונלי
מחרוזת שמוגדרת על ידי האפליקציה ומשויכת לשקע.
-
מושהה
בוליאני
סימון שמציין אם שקע מחובר חוסם את השקע המקביל לו משליחת נתונים נוספים (ראו
setPaused). -
peerAddress
מחרוזת אופציונלי
אם ה-socket הבסיסי מחובר, מכיל את כתובת ה-peer/IPv4/6.
-
peerPort
מספר אופציונלי
אם ה-socket הבסיסי מחובר, מכיל את יציאת ה-peer.
-
קבוע
בוליאני
דגל שמציין אם השקע נשאר פתוח כשהאפליקציה מושעית (ראו
SocketProperties.persistent). -
socketId
number
מזהה השקע.
SocketProperties
מאפיינים
-
bufferSize
מספר אופציונלי
גודל המאגר שמשמש לקבלת נתונים. ערך ברירת המחדל הוא 4096.
-
שם
מחרוזת אופציונלי
מחרוזת שמוגדרת על ידי האפליקציה ומשויכת לשקע.
-
קבוע
בוליאני אופציונלי
סימון שמציין אם ה-socket נשאר פתוח כשדף האירועים של האפליקציה נפרק (ראו ניהול מחזור החיים של האפליקציה). ערך ברירת המחדל הוא "false". כשהאפליקציה נטענת, אפשר לאחזר באמצעות
getSocketsאת כל השקעים שנפתחו קודם לכן עם persistent=true.
TLSVersionConstraints
מאפיינים
-
מקסימלי
מחרוזת אופציונלי
-
דק'
מחרוזת אופציונלי
הגרסאות המינימליות והמקסימליות הקבילות של TLS. הערכים הנתמכים הם
tls1.2אוtls1.3.הערכים
tls1ו-tls1.1כבר לא נתמכים. אם המדיניותminמוגדרת לאחד מהערכים האלה, היא תוגבל ל-tls1.2בלי להציג הודעה. אם המדיניותmaxמוגדרת לאחד מהערכים האלה, או לכל ערך לא מזוהה אחר, המערכת תתעלם ממנה בלי להציג הודעה.
Methods
close()
chrome.sockets.tcp.close(
socketId: number,
callback?: function,
): Promise<void>
סוגר את השקע ומשחרר את הכתובת או היציאה שהשקע קשור אליהן. כל שקע שנוצר צריך להיסגר אחרי השימוש. מזהה השקע לא תקף יותר ברגע שהפונקציה נקראת. עם זאת, השקע ייסגר רק כשהקריאה החוזרת (callback) תופעל.
פרמטרים
-
socketId
number
מזהה השקע.
-
callback
function optional
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 121 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
מחבר את השקע למכונה מרוחקת. כשהפעולה connect מסתיימת בהצלחה, אירועי onReceive מופעלים כשמתקבלים נתונים מהמחשב המקביל. אם מתרחשת שגיאה בחיבור לרשת בזמן שזמן הריצה מקבל חבילות, מופעל אירוע onReceiveError, ובשלב הזה לא יופעל יותר אירוע onReceive עבור השקע הזה עד לקריאה ל-method resume.
פרמטרים
-
socketId
number
מזהה השקע.
-
peerAddress
מחרוזת
הכתובת של המכונה המרוחקת. יש תמיכה בפורמטים של שם DNS, IPv4 ו-IPv6.
-
peerPort
number
היציאה של המכונה המרוחקת.
-
dnsQueryType
DnsQueryType אופציונלי
Chrome מגרסה 103 ואילךהעדפת הרזולוציה של הכתובת.
-
callback
פונקציה
הפרמטר
callbackנראה כך:(result: number) => void
-
תוצאה
number
קוד התוצאה שהוחזר מהקריאה לרשת הבסיסית. ערך שלילי מציין שגיאה.
-
create()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
יוצרת שקע TCP.
פרמטרים
-
נכסים
SocketProperties אופציונלי
מאפייני השקע (אופציונלי).
-
callback
function optional
הפרמטר
callbackנראה כך:(createInfo: CreateInfo) => void
-
createInfo
התוצאה של יצירת השקע.
-
החזרות
-
Promise<CreateInfo>
Chrome מגרסה 121 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
): Promise<void>
מנתק את השקע.
פרמטרים
-
socketId
number
מזהה השקע.
-
callback
function optional
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 121 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
אחזור המצב של השקע הנתון.
פרמטרים
-
socketId
number
מזהה השקע.
-
callback
function optional
הפרמטר
callbackנראה כך:(socketInfo: SocketInfo) => void
-
socketInfo
אובייקט שמכיל את פרטי השקע.
-
החזרות
-
Promise<SocketInfo>
Chrome מגרסה 121 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
אחזור רשימת השקעים הפתוחים כרגע שבבעלות האפליקציה.
פרמטרים
-
callback
function optional
הפרמטר
callbackנראה כך:(socketInfos: SocketInfo[]) => void
-
socketInfos
מערך של אובייקטים שמכילים מידע על שקעים.
-
החזרות
-
Promise<SocketInfo[]>
Chrome מגרסה 121 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
מתחילים חיבור של לקוח TLS דרך שקע הלקוח המחובר של TCP.
פרמטרים
-
socketId
number
השקע הקיים והמחובר שבו צריך להשתמש.
-
אפשרויות
SecureOptions אופציונלי
אילוצים ופרמטרים לחיבור TLS.
-
callback
פונקציה
הפרמטר
callbackנראה כך:(result: number) => void
-
תוצאה
number
-
send()
chrome.sockets.tcp.send(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
שליחת נתונים בשקע ה-TCP הנתון.
פרמטרים
-
socketId
number
מזהה השקע.
-
נתונים
ArrayBuffer
הנתונים שרוצים לשלוח.
-
callback
פונקציה
הפרמטר
callbackנראה כך:(sendInfo: SendInfo) => void
-
sendInfo
התוצאה של השיטה
send.
-
setKeepAlive()
chrome.sockets.tcp.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
הפעלה או השבתה של פונקציונליות ה-keep-alive בחיבור TCP.
פרמטרים
-
socketId
number
מזהה השקע.
-
enable
בוליאני
אם הערך הוא True, הפונקציונליות של keep-alive מופעלת.
-
עיכוב
מספר אופציונלי
הגדרת השהיה בשניות בין חבילת הנתונים האחרונה שהתקבלה לבין בדיקת ה-keepalive הראשונה. ברירת המחדל היא 0.
-
callback
פונקציה
הפרמטר
callbackנראה כך:(result: number) => void
-
תוצאה
number
קוד התוצאה שהוחזר מהקריאה לרשת הבסיסית. ערך שלילי מציין שגיאה.
-
setNoDelay()
chrome.sockets.tcp.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
מגדירה או מנקה את TCP_NODELAY לחיבור TCP. האלגוריתם של נייגל יושבת כשמגדירים את TCP_NODELAY.
פרמטרים
-
socketId
number
מזהה השקע.
-
noDelay
בוליאני
אם הערך הוא True, האלגוריתם של נייגל מושבת.
-
callback
פונקציה
הפרמטר
callbackנראה כך:(result: number) => void
-
תוצאה
number
קוד התוצאה שהוחזר מהקריאה לרשת הבסיסית. ערך שלילי מציין שגיאה.
-
setPaused()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
המתג מפעיל או משבית את האפשרות של האפליקציה לקבל הודעות מהאפליקציה המקבילה. ערך ברירת המחדל הוא "false". בדרך כלל, אפליקציות משתמשות בהשהיית שקע כדי להגביל את הנתונים שנשלחים על ידי השותף שלהן. כשהשקע מושהה, לא מופעל אירוע onReceive. כשהשקע מחובר וההשהיה שלו מבוטלת, אירועי onReceive מופעלים שוב כשמתקבלות הודעות.
פרמטרים
-
socketId
number
-
מושהה
בוליאני
-
callback
function optional
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 121 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
עדכון מאפייני השקע.
פרמטרים
-
socketId
number
מזהה השקע.
-
נכסים
המאפיינים שצריך לעדכן.
-
callback
function optional
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 121 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
אירועים
onReceive
chrome.sockets.tcp.onReceive.addListener(
callback: function,
)
אירוע שמופעל כשמתקבלים נתונים בשקע נתון.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(info: ReceiveInfo) => void
-
מידע
-
onReceiveError
chrome.sockets.tcp.onReceiveError.addListener(
callback: function,
)
אירוע שמופעל כשיש שגיאה בחיבור לרשת בזמן שסביבת זמן הריצה ממתינה לנתונים בכתובת השקע וביציאה. אחרי שהאירוע הזה מופעל, ה-socket מוגדר ל-paused ולא מופעלים יותר אירועי onReceive ב-socket הזה.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(info: ReceiveErrorInfo) => void
-
מידע
-