chrome.sockets.tcpServer

תיאור

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

מניפסט

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

"sockets"

סוגים

AcceptErrorInfo

מאפיינים

  • resultCode

    number

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

  • socketId

    number

    המזהה של שקע השרת.

AcceptInfo

מאפיינים

  • clientSocketId

    number

    מזהה שקע הלקוח (client socket), כלומר מזהה השקע של החיבור החדש שנוצר. צריך להשתמש במזהה השקע הזה רק עם פונקציות ממרחב השמות chrome.sockets.tcp. שימו לב ששקע הלקוח מושהה בהתחלה, והאפליקציה צריכה לבטל את ההשהיה באופן מפורש כדי להתחיל לקבל נתונים.

  • socketId

    number

    המזהה של שקע השרת.

CreateInfo

מאפיינים

  • socketId

    number

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

SocketInfo

מאפיינים

  • localAddress

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

    אם השקע מאזין, הוא מכיל את כתובת ה-IPv4/6 המקומית שלו.

  • localPort

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

    אם השקע מאזין, הוא מכיל את היציאה המקומית שלו.

  • שם

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

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

  • מושהה

    בוליאני

    סימון שמציין אם בקשות חיבור בשקע האזנה נשלחות דרך האירוע onAccept או ממתינות בתור ההאזנה. setPaused. ערך ברירת המחדל הוא "false".

  • קבוע

    בוליאני

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

  • socketId

    number

    מזהה השקע.

SocketProperties

מאפיינים

  • שם

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

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

  • קבוע

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

    דגל שמציין אם ה-socket נשאר פתוח כשדף האירועים של האפליקציה נפרק (ראו ניהול מחזור החיים של האפליקציה). ערך ברירת המחדל הוא "false". כשהאפליקציה נטענת, אפשר לאחזר באמצעות getSockets את כל השקעים שנפתחו קודם לכן עם persistent=true.

Methods

close()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

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

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

create()

Promise
chrome.sockets.tcpServer.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

יוצר שקע שרת (server socket) של TCP.

פרמטרים

  • נכסים

    ‫SocketProperties אופציונלי

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

  • callback

    function optional

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

    (createInfo: CreateInfo) => void

    • createInfo

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

החזרות

  • Promise<CreateInfo>

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

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

disconnect()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

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

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

getInfo()

Promise
chrome.sockets.tcpServer.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.tcpServer.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

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

פרמטרים

  • callback

    function optional

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

החזרות

  • Promise<SocketInfo[]>

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

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

listen()

chrome.sockets.tcpServer.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)
: void

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • כתובת

    מחרוזת

    הכתובת של המכונה המקומית.

  • יציאה

    number

    היציאה של המכונה המקומית. אם הערך הוא 0, נבחרת יציאה פנויה באופן דינמי. כדי למצוא את היציאה שהוקצתה באופן דינמי, אפשר להפעיל את getInfo.

  • צבר משימות

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

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

  • callback

    פונקציה

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

    (result: number) => void

    • תוצאה

      number

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

setPaused()

Promise
chrome.sockets.tcpServer.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

הפעלה או השבתה של שקע האזנה לקבלת חיבורים חדשים. כשהשקע בהשהיה, הוא מקבל חיבורים חדשים עד שהצבר שלו (ראו פונקציית listen) מלא, ואז דוחה בקשות חיבור נוספות. אירועי onAccept מופעלים רק כשהשקע לא מושהה.

פרמטרים

  • socketId

    number

  • מושהה

    בוליאני

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

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

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

update()

Promise
chrome.sockets.tcpServer.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • נכסים

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

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

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

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

אירועים

onAccept

chrome.sockets.tcpServer.onAccept.addListener(
  callback: function,
)

אירוע שמופעל כשנוצר חיבור לשקע השרת (server socket).

פרמטרים

  • callback

    פונקציה

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

    (info: AcceptInfo) => void

onAcceptError

chrome.sockets.tcpServer.onAcceptError.addListener(
  callback: function,
)

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

פרמטרים