תיאור
אפשר להשתמש ב-chrome.sockets.tcp
API כדי לשלוח ולקבל נתונים ברשת באמצעות חיבורי TCP. ה-API הזה מחליף את הפונקציונליות של TCP שהייתה זמינה בעבר ב-chrome.socket
API.
מניפסט
סוגים
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
קוד התוצאה שמוחזר מקריאת הרשת הבסיסית.
-
socketId
number
המזהה של שקע ה-socket.
ReceiveInfo
מאפיינים
-
נתונים
ArrayBuffer
הנתונים שהתקבלו, בגודל מקסימלי של
bufferSize
. -
socketId
number
המזהה של שקע ה-socket.
SecureOptions
מאפיינים
-
tlsVersion
TLSVersionConstraints אופציונלי
SendInfo
מאפיינים
-
bytesSent
מספר אופציונלי
מספר הבייטים שנשלחו (אם התוצאה היא 0)
-
resultCode
number
קוד התוצאה שמוחזר מקריאת הרשת הבסיסית. ערך שלילי מציין שגיאה.
SocketInfo
מאפיינים
-
bufferSize
מספר אופציונלי
גודל המאגר שמשמש לקבלת נתונים. אם לא צוין גודל מאגר באופן מפורש, הערך לא יסופק.
-
מחובר
בוליאני
סימון שמציין אם שקע הרשת מחובר למחשב עמית מרוחק.
-
localAddress
מחרוזת אופציונלי
אם השקע הבסיסי מחובר, הוא מכיל את כתובת ה-IPv4/6 המקומית שלו.
-
localPort
מספר אופציונלי
אם שקע הבסיס מחובר, הערך מכיל את היציאה המקומית שלו.
-
שם
מחרוזת אופציונלי
מחרוזת שהוגדרה על ידי האפליקציה ומשויכת לשקע.
-
מושהה
בוליאני
דגל שמציין אם שקע מחובר חוסם את עמיתו משליחת נתונים נוספים (ראו
setPaused
). -
peerAddress
מחרוזת אופציונלי
אם השקע הבסיסי מחובר, הערך מכיל את כתובת ה-IPv4/6 של העמית.
-
peerPort
מספר אופציונלי
אם השקע הבסיסי מחובר, השדה מכיל את יציאת העמית.
-
קבוע
בוליאני
סימון שמציין אם השקע נשאר פתוח כשהאפליקציה מושהית (ראו
SocketProperties.persistent
). -
socketId
number
המזהה של שקע ה-socket.
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
המזהה של שקע ה-socket.
-
callback
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome 121 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
מחבר את השקע למכונה מרוחקת. כשהפעולה connect
מסתיימת בהצלחה, מופעלים אירועים של onReceive
כשמתקבלים נתונים מהעמית. אם מתרחשת שגיאת רשת בזמן שהסביבה בזמן ריצה מקבלת מנות, מופעל אירוע onReceiveError
. בשלב הזה לא יופעל יותר אירוע onReceive
עבור השקע הזה עד להפעלת השיטה resume
.
פרמטרים
-
socketId
number
המזהה של שקע ה-socket.
-
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 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
): Promise<void>
מנתק את השקע.
פרמטרים
-
socketId
number
המזהה של שקע ה-socket.
-
callback
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome 121 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
מאחזרת את המצב של שקע נתון.
פרמטרים
-
socketId
number
המזהה של שקע ה-socket.
-
callback
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(socketInfo: SocketInfo) => void
-
socketInfo
אובייקט שמכיל את פרטי השקע.
-
החזרות
-
Promise<SocketInfo>
Chrome 121 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
מאחזר את רשימת השקעים הפתוחים כרגע שבבעלות האפליקציה.
פרמטרים
-
callback
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(socketInfos: SocketInfo[]) => void
-
socketInfos
מערך של אובייקטים שמכילים פרטים על שקע.
-
החזרות
-
Promise<SocketInfo[]>
Chrome 121 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
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
המזהה של שקע ה-socket.
-
נתונים
ArrayBuffer
הנתונים לשליחה.
-
callback
פונקציה
הפרמטר
callback
נראה כך:(sendInfo: SendInfo) => void
-
sendInfo
התוצאה של השיטה
send
.
-
setKeepAlive()
chrome.sockets.tcp.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
הגדרה שמאפשרת להפעיל או להשבית את הפונקציונליות של שמירת החיבור בחיים לחיבור TCP.
פרמטרים
-
socketId
number
המזהה של שקע ה-socket.
-
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
המזהה של שקע ה-socket.
-
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 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
עדכון מאפייני השקע.
פרמטרים
-
socketId
number
המזהה של שקע ה-socket.
-
נכסים
המאפיינים לעדכון.
-
callback
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome 121 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
אירועים
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
-
מידע
-