chrome.sockets.tcpServer

תיאור

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

מניפסט

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

"sockets"

סוגים

AcceptErrorInfo

מאפיינים

  • resultCode

    number

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

  • socketId

    number

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

AcceptInfo

מאפיינים

  • clientSocketId

    number

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

  • socketId

    number

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

CreateInfo

מאפיינים

  • socketId

    number

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

SocketInfo

מאפיינים

  • localAddress

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

    אם הסוקט נמצא במצב האזנה, הוא מכיל את כתובת ה-IPv4/6 המקומית שלו.

  • localPort

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

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

  • שם

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

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

  • מושהה

    בוליאני

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

  • קבוע

    בוליאני

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

  • socketId

    number

    מזהה השקע.

SocketProperties

מאפיינים

  • שם

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

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

  • קבוע

    ‫boolean אופציונלי

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

Methods

close()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 121 ואילך

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

create()

Promise
chrome.sockets.tcpServer.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.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 121 ואילך

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

getInfo()

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

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

פרמטרים

  • callback

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

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

החזרות

  • Promise<SocketInfo[]>

    Chrome 121 ואילך

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

listen()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • כתובת

    מחרוזת

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

  • ניוד

    number

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

  • backlog

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

    אורך תור ההמתנה של השקע. ערך ברירת המחדל תלוי במערכת ההפעלה (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

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 121 ואילך

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

update()

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

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

פרמטרים

  • socketId

    number

    מזהה השקע.

  • נכסים

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

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 121 ואילך

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

אירועים

onAccept

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

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

פרמטרים

  • callback

    פונקציה

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

    (info: AcceptInfo) => void

onAcceptError

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

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

פרמטרים