chrome.sockets.tcp

תיאור

אפשר להשתמש ב-chrome.sockets.tcp API כדי לשלוח ולקבל נתונים ברשת באמצעות חיבורי TCP. ה-API הזה מחליף את הפונקציונליות של TCP שהייתה זמינה בעבר ב-chrome.socket API.

מניפסט

כדי להשתמש ב-API הזה, צריך להצהיר על המפתחות הבאים במניפסט.

"sockets"

סוגים

CreateInfo

מאפיינים

  • socketId

    number

    המזהה של שקע ה-socket החדש שנוצר. שימו לב שמזהי socket שנוצרו מ-API הזה לא תואמים למזהי socket שנוצרו מ-API אחרים, כמו [socket](../socket/) API שהוצא משימוש.

DnsQueryType

Chrome 103 ואילך

העדפות רזולוציית 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

מאפיינים

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()

Promise
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()

Promise
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()

Promise
chrome.sockets.tcp.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

מנתק את השקע.

פרמטרים

  • socketId

    number

    המזהה של שקע ה-socket.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    Chrome 121 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

getInfo()

Promise
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()

Promise
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()

Promise
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()

Promise
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 בשקע הזה.

פרמטרים