תיאור
משתמשים ב-chrome.sockets.tcp API כדי לשלוח ולקבל נתונים ברשת באמצעות חיבורי TCP. ה-API הזה מחליף את הפונקציונליות של TCP שהייתה זמינה בעבר ב-API chrome.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
קוד התוצאה שמוחזר מקריאת הרשת הבסיסית.
-
socketId
number
מזהה השקע.
ReceiveInfo
מאפיינים
-
נתונים
ArrayBuffer
הנתונים שהתקבלו, עם גודל מקסימלי של
bufferSize. -
socketId
number
מזהה השקע.
SecureOptions
מאפיינים
-
tlsVersion
TLSVersionConstraints אופציונלי
SendInfo
מאפיינים
-
bytesSent
מספר אופציונלי
מספר הבייטים שנשלחו (אם התוצאה היא 0)
-
resultCode
number
קוד התוצאה שמוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
SocketInfo
מאפיינים
-
bufferSize
מספר אופציונלי
גודל המאגר שמשמש לקבלת נתונים. אם לא צוין גודל מאגר באופן מפורש, הערך לא יסופק.
-
מחובר
בוליאני
סימון שמציין אם שקע הרשת מחובר למחשב עמית מרוחק.
-
localAddress
מחרוזת אופציונלי
אם השקע הבסיסי מחובר, הוא מכיל את כתובת ה-IPv4/6 המקומית שלו.
-
localPort
מספר אופציונלי
אם השקע הבסיסי מחובר, הוא מכיל את היציאה המקומית שלו.
-
שם
מחרוזת אופציונלי
מחרוזת שהוגדרה על ידי האפליקציה ומשויכת לשקע.
-
מושהה
בוליאני
דגל שמציין אם שקע מחובר חוסם את עמיתו מלשלוח נתונים נוספים (ראו
setPaused). -
peerAddress
מחרוזת אופציונלי
אם השקע הבסיסי מחובר, הוא מכיל את כתובת ה-peer/ IPv4/6.
-
peerPort
מספר אופציונלי
אם השקע הבסיסי מחובר, הערך מכיל את יציאת העמית.
-
קבוע
בוליאני
דגל שמציין אם השקע נשאר פתוח כשהאפליקציה מושהית (ראו
SocketProperties.persistent). -
socketId
number
מזהה השקע.
SocketProperties
מאפיינים
-
bufferSize
מספר אופציונלי
גודל המאגר שמשמש לקבלת נתונים. ערך ברירת המחדל הוא 4096.
-
שם
מחרוזת אופציונלי
מחרוזת שמוגדרת על ידי האפליקציה ומשויכת לשקע.
-
קבוע
boolean אופציונלי
דגל שמציין אם השקע נשאר פתוח כשדף האירוע של האפליקציה מבוטל (ראו ניהול מחזור החיים של האפליקציה). ערך ברירת המחדל הוא false. כשהאפליקציה נטענת, אפשר לאחזר שקעים שנפתחו קודם עם persistent=true באמצעות
getSockets.
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>
סוגר את השקע ומשחרר את הכתובת או היציאה שהשקע קשור אליהן. צריך לסגור כל שקע שנוצר אחרי השימוש בו. מזהה השקע כבר לא תקף ברגע שהפונקציה מופעלת. עם זאת, מובטח שהסוקט ייסגר רק כשהקריאה החוזרת תופעל.
פרמטרים
-
socketId
number
מזהה השקע.
-
callback
פונקציה אופציונלי
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 121 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
מחבר את השקע למכונה מרוחקת. כשהפעולה connect מסתיימת בהצלחה, מופעלים אירועים של onReceive כשמתקבלים נתונים מהעמית. אם מתרחשת שגיאת רשת בזמן שהסביבה בזמן הריצה מקבלת מנות, מופעל אירוע onReceiveError. בשלב הזה לא יופעל יותר אירוע onReceive עבור הסוקט הזה עד שהשיטה resume תיקרא.
פרמטרים
-
socketId
number
מזהה השקע.
-
peerAddress
מחרוזת
הכתובת של המכונה המרוחקת. יש תמיכה בפורמטים של שם DNS, IPv4 ו-IPv6.
-
peerPort
number
היציאה של המחשב המרוחק.
-
dnsQueryType
DnsQueryType optional
Chrome 103 ואילךהעדפת המרת כתובת.
-
callback
פונקציה
הפרמטר
callbackנראה כך:(result: number) => void
-
תוצאה
number
קוד התוצאה שמוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
-
create()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
יוצר שקע TCP.
פרמטרים
-
נכסים
SocketProperties אופציונלי
מאפייני השקע (אופציונלי).
-
callback
פונקציה אופציונלי
הפרמטר
callbackנראה כך:(createInfo: CreateInfo) => void
-
createInfo
התוצאה של יצירת השקע.
-
החזרות
-
Promise<CreateInfo>
Chrome 121 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
): Promise<void>
מנתק את השקע.
פרמטרים
-
socketId
number
מזהה השקע.
-
callback
פונקציה אופציונלי
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 121 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
מאחזרת את המצב של שקע נתון.
פרמטרים
-
socketId
number
מזהה השקע.
-
callback
פונקציה אופציונלי
הפרמטר
callbackנראה כך:(socketInfo: SocketInfo) => void
-
socketInfo
אובייקט שמכיל את פרטי השקע.
-
החזרות
-
Promise<SocketInfo>
Chrome 121 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
מאחזר את רשימת השקעים הפתוחים כרגע שבבעלות האפליקציה.
פרמטרים
-
callback
פונקציה אופציונלי
הפרמטר
callbackנראה כך:(socketInfos: SocketInfo[]) => void
-
socketInfos
מערך של אובייקטים שמכילים פרטים על שקע.
-
החזרות
-
Promise<SocketInfo[]>
Chrome 121 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
מתחילים חיבור לקוח TLS דרך שקע לקוח TCP מחובר.
פרמטרים
-
socketId
number
השקע הקיים והמחובר שבו רוצים להשתמש.
-
options
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. אלגוריתם Nagle מושבת כשההגדרה TCP_NODELAY מוגדרת.
פרמטרים
-
socketId
number
מזהה השקע.
-
noDelay
בוליאני
אם הערך הוא True, האלגוריתם של Nagle מושבת.
-
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
פונקציה אופציונלי
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 121 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
עדכון מאפייני השקע.
פרמטרים
-
socketId
number
מזהה השקע.
-
נכסים
המאפיינים לעדכון.
-
callback
פונקציה אופציונלי
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 121 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
אירועים
onReceive
chrome.sockets.tcp.onReceive.addListener(
callback: function,
)
אירוע שמופעל כשמתקבלים נתונים עבור שקע נתון.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(info: ReceiveInfo) => void
-
מידע
-
onReceiveError
chrome.sockets.tcp.onReceiveError.addListener(
callback: function,
)
האירוע מופעל כשהתרחשה שגיאת רשת בזמן שהסביבה העסקית המשותפת המתינה לנתונים בכתובת ובפורט של שקע התקשורת. אחרי שהאירוע הזה מופעל, השקע מוגדר ל-paused ולא מופעלים יותר אירועי onReceive בשקע הזה.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(info: ReceiveErrorInfo) => void
-
מידע
-