chrome.sockets.tcp

תיאור

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

מניפסט

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

"sockets"

סוגים

CreateInfo

תכונות

  • socketId

    מספר

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

DnsQueryType

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

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

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

"ipv4"

"ipv6"

ReceiveErrorInfo

תכונות

  • resultCode

    מספר

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

  • socketId

    מספר

    מזהה השקע.

ReceiveInfo

תכונות

  • נתונים

    ArrayBuffer

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

  • socketId

    מספר

    מזהה השקע.

SecureOptions

תכונות

SendInfo

תכונות

  • bytesSent

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

    מספר הבייטים שנשלחו (אם התוצאה = 0)

  • resultCode

    מספר

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

SocketInfo

תכונות

  • bufferSize

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

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

  • מחובר

    boolean

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

  • localAddress

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

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

  • localPort

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

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

  • name

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

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

  • מושהה

    boolean

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

  • peerAddress

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

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

  • peerPort

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

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

  • מתמיד

    boolean

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

  • socketId

    מספר

    מזהה השקע.

SocketProperties

תכונות

  • bufferSize

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

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

  • name

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

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

  • מתמיד

    בוליאני אופציונלי

    סימון שמציין אם השקע נשאר פתוח כשדף האירוע של האפליקציה לא נטען (ראו ניהול מחזור החיים של אפליקציה). ערך ברירת המחדל הוא '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,
)

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

פרמטרים

  • socketId

    מספר

    מזהה השקע.

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

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

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

    ()=>void

החזרות

  • Promise<void>

    Chrome 121 ומעלה

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

connect()

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

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

פרמטרים

  • socketId

    מספר

    מזהה השקע.

  • peerAddress

    מחרוזת

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

  • peerPort

    מספר

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

  • dnsQueryType

    DnsQueryType אופציונלי

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

    ההעדפה לפתרון כתובת.

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

    פונקציה

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

    (result: number)=>void

    • תוצאה אחת

      מספר

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

create()

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

יצירה של שקע TCP.

פרמטרים

  • נכסים

    SocketProperties אופציונלי

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

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

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

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

    (createInfo: CreateInfo)=>void

    • createInfo

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

החזרות

  • Promise<CreateInfo>

    Chrome 121 ומעלה

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

disconnect()

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

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

פרמטרים

  • socketId

    מספר

    מזהה השקע.

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

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

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

    ()=>void

החזרות

  • Promise<void>

    Chrome 121 ומעלה

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

getInfo()

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

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

פרמטרים

  • socketId

    מספר

    מזהה השקע.

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

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

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

    (socketInfo: SocketInfo)=>void

    • socketInfo

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

החזרות

  • Promise<SocketInfo>

    Chrome 121 ומעלה

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

getSockets()

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

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

פרמטרים

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

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

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

    (socketInfos: SocketInfo[])=>void

    • socketInfos

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

החזרות

  • Promise<SocketInfo[]>

    Chrome 121 ומעלה

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

secure()

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

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

פרמטרים

  • socketId

    מספר

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

  • אפשרויות

    SecureOptions אופציונלי

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

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

    פונקציה

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

    (result: number)=>void

    • תוצאה אחת

      מספר

send()

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

שליחת נתונים בשקע ה-TCP הנתון.

פרמטרים

  • socketId

    מספר

    מזהה השקע.

  • נתונים

    ArrayBuffer

    הנתונים לשליחה.

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

    פונקציה

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

    (sendInfo: SendInfo)=>void

    • sendInfo

      תוצאה של השיטה send.

setKeepAlive()

chrome.sockets.tcp.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)

מפעילה או משביתה את הפונקציונליות של keep-alive עבור חיבור TCP.

פרמטרים

  • socketId

    מספר

    מזהה השקע.

  • enable

    boolean

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

  • עיכוב

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

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

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

    פונקציה

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

    (result: number)=>void

    • תוצאה אחת

      מספר

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

setNoDelay()

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

מגדירה או מוחקת את TCP_NODELAY עבור חיבור TCP. האלגוריתם של Nagle יושבת לאחר הגדרת TCP_NODELAY.

פרמטרים

  • socketId

    מספר

    מזהה השקע.

  • noDelay

    boolean

    אם הערך הוא True, האלגוריתם של Nagle מושבת.

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

    פונקציה

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

    (result: number)=>void

    • תוצאה אחת

      מספר

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

setPaused()

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

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

פרמטרים

  • socketId

    מספר

  • מושהה

    boolean

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

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

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

    ()=>void

החזרות

  • Promise<void>

    Chrome 121 ומעלה

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

update()

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

עדכון מאפייני השקע.

פרמטרים

  • socketId

    מספר

    מזהה השקע.

  • נכסים

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

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

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

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

    ()=>void

החזרות

  • Promise<void>

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

האירוע התרחש כשאירעה שגיאת רשת בזמן ההמתנה לנתונים על כתובת השקע והיציאה. אחרי שמעלים את האירוע, השקע מוגדר ל-paused ולא הועלו עוד אירועים של onReceive לשקע הזה.

פרמטרים