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

"כלשהו"

"ipv4"

"ipv6"

ReceiveErrorInfo

מאפיינים

  • resultCode

    number

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

  • socketId

    number

    מזהה ה-socket.

ReceiveInfo

מאפיינים

  • נתונים

    ArrayBuffer

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

  • socketId

    number

    מזהה ה-socket.

SecureOptions

מאפיינים

SendInfo

מאפיינים

  • bytesSent

    מספר אופציונלי

    מספר הבייטים שנשלחו (if result == 0)

  • resultCode

    number

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

SocketInfo

מאפיינים

  • bufferSize

    מספר אופציונלי

    גודל מאגר הנתונים הזמני המשמש לקבלת נתונים. אם לא צוין במפורש גודל של מאגר נתונים זמני, הערך לא יצוין.

  • מחובר

    בוליאני

    סימון שמציין אם השקע מחובר לאפליקציה מרוחקת.

  • localAddress

    מחרוזת אופציונלי

    אם השקע הבסיסי מחובר, מכיל את כתובת IPv4/6 המקומית שלו.

  • localPort

    מספר אופציונלי

    אם השקע הבסיסי מחובר, מכילה את היציאה המקומית שלו.

  • שם

    מחרוזת אופציונלי

    מחרוזת מוגדרת אפליקציה שמשויכת לשקע.

  • מושהה

    בוליאני

    סימון שמציין אם שקע מחובר מונע מהעמית שלו לשלוח נתונים נוספים (ראו setPaused).

  • peerAddress

    מחרוזת אופציונלי

    אם השקע הבסיסי מחובר, הוא מכיל את כתובת ה-peer/ IPv4/6.

  • peerPort

    מספר אופציונלי

    אם השקע הבסיסי מחובר, מכילה את היציאה השכנה.

  • מתמיד

    בוליאני

    סימון שמציין אם השקע נשאר פתוח כשהאפליקציה מושעה (מידע נוסף זמין ב-SocketProperties.persistent).

  • socketId

    number

    מזהה ה-socket.

SocketProperties

מאפיינים

  • bufferSize

    מספר אופציונלי

    גודל מאגר הנתונים הזמני המשמש לקבלת נתונים. ערך ברירת המחדל הוא 4096.

  • שם

    מחרוזת אופציונלי

    מחרוזת בהגדרת האפליקציה שמשויכת לשקע.

  • מתמיד

    ערך בוליאני אופציונלי

    סימון שמציין אם השקע נשאר פתוח אחרי שמסתיימת הטעינה של דף האירוע של האפליקציה (מידע נוסף זמין בקטע ניהול מחזור החיים של אפליקציה). ערך ברירת המחדל הוא 'FALSE'. כשהאפליקציה נטענת, ניתן לאחזר כל sockets שנפתחו בעבר באמצעות persistent=true באמצעות getSockets.

TLSVersionConstraints

מאפיינים

  • מקסימלי

    מחרוזת אופציונלי

  • דקה

    מחרוזת אופציונלי

    הגרסאות המינימליות והמקסימליות הקבילות של TLS. הערכים הנתמכים הם tls1.2 או tls1.3.

    הערכים tls1 ו-tls1.1 לא נתמכים יותר. אם המדיניות min מוגדרת לאחד מהערכים האלה, היא תוצמד ל-tls1.2 ללא הודעה. אם max מוגדר לאחד מהערכים האלה, או לכל ערך לא מזוהה אחר, המערכת תתעלם ממנו.

שיטות

close()

הבטחה
chrome.sockets.tcp.close(
  socketId: number,
  callback?: function,
)

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

פרמטרים

  • socketId

    number

    מזהה ה-socket.

  • קריאה חוזרת (callback)

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

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

    () => void

החזרות

  • הבטחה<Empty>

    Chrome 121 ואילך

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

connect()

chrome.sockets.tcp.connect(
  socketId: number,
  peerAddress: string,
  peerPort: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)

חיבור השקע למחשב מרוחק. כשהפעולה connect תסתיים בהצלחה, המערכת תגדיל את onReceive אירועים כשיתקבלו נתונים מהעמית. אם תתרחש שגיאת רשת בזמן שסביבת זמן הריצה מקבלת חבילות, יווצר אירוע onReceiveError. בשלב הזה לא יווצר אירוע onReceive נוסף עבור השקע הזה עד לקריאה ל-method resume.

פרמטרים

  • socketId

    number

    מזהה ה-socket.

  • peerAddress

    מחרוזת

    הכתובת של המחשב המרוחק. שם ה-DNS, הפורמטים IPv4 ו-IPv6 נתמכים.

  • peerPort

    number

    היציאה של המכונה המרוחקת.

  • dnsQueryType

    DnsQueryType אופציונלי

    Chrome 103 ואילך

    העדפה לרזולוציית כתובת.

  • קריאה חוזרת (callback)

    פונקציה

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

    (result: number) => void

    • תוצאה

      number

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

create()

הבטחה
chrome.sockets.tcp.create(
  properties?: SocketProperties,
  callback?: function,
)

יצירת שקע TCP.

פרמטרים

  • נכסים

    SocketProperties אופציונלי

    מאפייני השקע (אופציונלי).

  • קריאה חוזרת (callback)

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

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

    (createInfo: CreateInfo) => void

    • createInfo

      התוצאה של יצירת השקע.

החזרות

  • Promise&lt;CreateInfo&gt;

    Chrome 121 ואילך

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

disconnect()

הבטחה
chrome.sockets.tcp.disconnect(
  socketId: number,
  callback?: function,
)

מנתקים את השקע.

פרמטרים

  • socketId

    number

    מזהה ה-socket.

  • קריאה חוזרת (callback)

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

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

    () => void

החזרות

  • הבטחה<Empty>

    Chrome 121 ואילך

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

getInfo()

הבטחה
chrome.sockets.tcp.getInfo(
  socketId: number,
  callback?: function,
)

אחזור המצב של השקע הנתון.

פרמטרים

  • socketId

    number

    מזהה ה-socket.

  • קריאה חוזרת (callback)

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

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

    (socketInfo: SocketInfo) => void

    • socketInfo

      אובייקט שמכיל את המידע על השקע.

החזרות

  • Promise&lt;SocketInfo&gt;

    Chrome 121 ואילך

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

getSockets()

הבטחה
chrome.sockets.tcp.getSockets(
  callback?: function,
)

אחזור רשימה של השקעים הפתוחים הנוכחיים שבבעלות האפליקציה.

פרמטרים

  • קריאה חוזרת (callback)

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

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      מערך אובייקטים שמכיל מידע על השקע.

החזרות

  • Promise&lt;SocketInfo[]&gt;

    Chrome 121 ואילך

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

secure()

chrome.sockets.tcp.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)

מתחילים חיבור של לקוח TLS דרך שקע הלקוח המחובר של TCP.

פרמטרים

  • socketId

    number

    השקע המחובר הקיים שבו צריך להשתמש.

  • אפשרויות

    SecureOptions אופציונלי

    מגבלות ופרמטרים לחיבור TLS.

  • קריאה חוזרת (callback)

    פונקציה

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

    (result: number) => void

    • תוצאה

      number

send()

chrome.sockets.tcp.send(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

שליחת נתונים בשקע ה-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,
)

המדיניות מפעילה או משביתה את האפשרות של שמירה על פעילות קבועה עבור חיבור TCP.

פרמטרים

  • socketId

    number

    מזהה ה-socket.

  • enable

    בוליאני

    אם הערך הוא True, יש להפעיל את הפונקציונליות של הודעת Keepalive.

  • עיכוב

    מספר אופציונלי

    מגדירים את שניות ההשהיה בין חבילת הנתונים האחרונה שהתקבלה לבין גשושית ה-Keepalive הראשונה. ברירת המחדל היא 0.

  • קריאה חוזרת (callback)

    פונקציה

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

    (result: number) => void

    • תוצאה

      number

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

setNoDelay()

chrome.sockets.tcp.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)

מגדיר או מבטל את 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,
)

המתג מפעיל או משבית את האפשרות של האפליקציה לקבל הודעות מהעמית שלה. ערך ברירת המחדל הוא 'FALSE'. בדרך כלל, אפליקציה משתמשת בהשהיית שקע כדי לווסת נתונים שנשלחים על ידי אפליקציה להשוואה. כאשר socket מושהה, לא מושמע אירוע onReceive. כאשר מחברים ומבטלים את ההשהיה של שקע, אירועי onReceive יושמעו שוב כאשר מתקבלות הודעות.

פרמטרים

  • socketId

    number

  • מושהה

    בוליאני

  • קריאה חוזרת (callback)

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

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

    () => void

החזרות

  • הבטחה<Empty>

    Chrome 121 ואילך

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

update()

הבטחה
chrome.sockets.tcp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

עדכון המאפיינים של ה-socket.

פרמטרים

  • socketId

    number

    מזהה ה-socket.

  • נכסים

    המאפיינים שצריך לעדכן.

  • קריאה חוזרת (callback)

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

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

    () => void

החזרות

  • הבטחה<Empty>

    Chrome 121 ואילך

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

אירועים

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

פרמטרים