chrome.sockets.tcp

תיאור

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

מניפסט

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

"sockets"

סוגים

CreateInfo

מאפיינים

  • socketId

    number

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

DnsQueryType

‫Chrome מגרסה 103 ואילך

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

טיפוסים בני מנייה (enum)

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

מאפיינים

  • resultCode

    number

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

  • socketId

    number

    מזהה השקע.

ReceiveInfo

מאפיינים

  • נתונים

    ArrayBuffer

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

  • socketId

    number

    מזהה השקע.

SecureOptions

מאפיינים

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

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

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

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

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

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

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

Promise
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 הזה.

פרמטרים