chrome.sockets.tcp

תיאור

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

מניפסט

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

"sockets"

סוגים

CreateInfo

מאפיינים

  • socketId

    number

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

DnsQueryType

‫Chrome 103 ואילך

העדפות של פענוח DNS. ברירת המחדל היא any והיא משתמשת בהגדרת מערכת ההפעלה הנוכחית, שיכולה להחזיר IPv4 או IPv6. ‫ipv4 מאלץ IPv4, ו-ipv6 מאלץ IPv6.

ספירה

‫"any"

‫"ipv4"

‪"ipv6"

ReceiveErrorInfo

מאפיינים

  • resultCode

    number

    קוד התוצאה שמוחזר מקריאת הרשת הבסיסית.

  • socketId

    number

    מזהה השקע.

ReceiveInfo

מאפיינים

  • נתונים

    ArrayBuffer

    הנתונים שהתקבלו, עם גודל מקסימלי של bufferSize.

  • socketId

    number

    מזהה השקע.

SecureOptions

מאפיינים

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

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

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

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

מנתק את השקע.

פרמטרים

  • socketId

    number

    מזהה השקע.

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    ‫Chrome 121 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getInfo()

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

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

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 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

update()

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

פרמטרים