chrome.socket

תיאור

אפשר להשתמש ב-API של chrome.socket כדי לשלוח ולקבל נתונים ברשת באמצעות חיבורי TCP ו-UDP. הערה: החל מגרסה 33 של Chrome, ה-API הזה הוצא משימוש והוחלף בממשקי ה-API sockets.udp, sockets.tcp ו-sockets.tcpServer.

הרשאות

socket

סוגים

AcceptInfo

מאפיינים

  • resultCode

    number

  • socketId

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

    המזהה של השקע הקביל.

CreateInfo

מאפיינים

  • socketId

    number

    המזהה של השקע החדש שנוצר.

CreateOptions

NetworkInterface

מאפיינים

  • כתובת

    מחרוזת

    כתובת IPv4/6 הזמינה.

  • שם

    מחרוזת

    שם הבסיס של המתאם. ב-*nix, הערך יהיה בדרך כלל 'eth0', 'lo' וכו'.

  • prefixLength

    number

    אורך הקידומת

ReadInfo

מאפיינים

  • נתונים

    ArrayBuffer

  • resultCode

    number

    ה- resultCode שהוחזר מהקריאה הבסיסית ל-read() .

RecvFromInfo

מאפיינים

  • כתובת

    מחרוזת

    הכתובת של המחשב המרוחק.

  • נתונים

    ArrayBuffer

  • יציאה

    number

  • resultCode

    number

    ה- resultCode שהוחזר מהקריאה הבסיסית ל-recvfrom() .

SecureOptions

מאפיינים

SocketInfo

מאפיינים

  • מחובר

    בוליאני

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

    בשקעים של tcp, ההגדרה תישאר בתוקף גם אם הרשת השכנה המרוחקת התנתקה. בעקבות זאת, קריאה או כתיבה ל-socket עשויות לגרום לשגיאה, רמז על כך שצריך לנתק את השקע דרך disconnect().

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

  • localAddress

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

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

  • localPort

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

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

  • peerAddress

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

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

  • peerPort

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

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

  • socketType

    סוג השקע שהועבר. זה יהיה tcp או udp.

SocketType

Enum

"tcp"

"udp"

TLSVersionConstraints

מאפיינים

  • מקסימלי

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

  • דקה

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

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

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

WriteInfo

מאפיינים

  • bytesWritten

    number

    מספר הבייטים שנשלחו, או קוד שגיאה שלילי.

שיטות

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)

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

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

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

    פונקציה

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

    (acceptInfo: AcceptInfo) => void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)

הפונקציה מקשרת את הכתובת המקומית ל-socket. כרגע הוא לא תומך בשקע TCP.

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

  • כתובת

    מחרוזת

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

  • יציאה

    number

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

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

    פונקציה

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

    (result: number) => void

    • תוצאה

      number

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)

חיבור השקע למחשב המרוחק (לשקע tcp). בשקע udp, ההגדרה הזו קובעת את כתובת ברירת המחדל שאליה חבילות יישלחו וקריאות בשיחות read() ו-write().

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

  • hostname

    מחרוזת

    שם המארח או כתובת ה-IP של המכונה המרוחקת.

  • יציאה

    number

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

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

    פונקציה

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

    (result: number) => void

    • תוצאה

      number

create()

הבטחה
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)

יצירת שקע מהסוג שצוין שיתחבר למכונה המרוחקת שצוינה.

פרמטרים

  • סוג

    סוג ה-socket שרוצים ליצור. חייב להיות tcp או udp.

  • אפשרויות

    CreateOptions אופציונלית

    האפשרויות של השקעים.

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

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

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

    (createInfo: CreateInfo) => void

החזרות

  • Promise<CreateInfo>

    Chrome 121 ואילך

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

destroy()

chrome.socket.destroy(
  socketId: number,
)

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

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

מנתקים את השקע. עבור שקעי UDP, השימוש ב-disconnect אינו פעולה, אך ניתן להתקשר אליו בבטחה.

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

getInfo()

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

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

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

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

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

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

    (result: SocketInfo) => void

החזרות

  • Promise<SocketInfo>

    Chrome 121 ואילך

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

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)

מקבלים את כתובות הקבוצה של Multicast שאליה מצורף ה-socket.

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

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

    פונקציה

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

    (groups: string[]) => void

    • קבוצות

      String[]

getNetworkList()

הבטחה
chrome.socket.getNetworkList(
  callback?: function,
)

אחזור מידע על מתאמים מקומיים במערכת הזו.

פרמטרים

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

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

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

    (result: NetworkInterface[]) => void

החזרות

  • Promise<NetworkInterface[]>

    Chrome 121 ואילך

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

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)

מצטרפים לקבוצת Multicast ומתחילים לקבל חבילות מהקבוצה. השקע חייב להיות מסוג UDP ועליו להיות מקושר ליציאה מקומית לפני קריאה לשיטה הזו.

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

  • כתובת

    מחרוזת

    כתובת הקבוצה להצטרפות. שמות דומיינים לא נתמכים.

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

    פונקציה

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

    (result: number) => void

    • תוצאה

      number

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)

עזיבת הקבוצה שהצטרפת אליה בעבר ב-Multicast באמצעות joinGroup. אין צורך לעזוב את קבוצת ה-multicast לפני השמדת השקע או היציאה. מערכת ההפעלה קוראת לזה באופן אוטומטי.

עזיבת הקבוצה תמנע מהנתב לשלוח נתוני Multicast למארח המקומי, בהנחה שאף תהליך אחר במארח עדיין לא מצורף לקבוצה.

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

  • כתובת

    מחרוזת

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

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

    פונקציה

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

    (result: number) => void

    • תוצאה

      number

listen()

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

השיטה הזו רלוונטית רק לשקעי TCP. המערכת מאזינה לחיבורים ביציאה ובכתובת שצוינו. הפעולה הזו הופכת בפועל את ה-socket לשרת, ולא ניתן יותר להשתמש בפונקציות של שקע הלקוח (התחברות, קריאה, כתיבה) בשקע הזה.

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

  • כתובת

    מחרוזת

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

  • יציאה

    number

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

  • עיכוב

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

    אורך תור ההאזנה של השקע.

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

    פונקציה

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

    (result: number) => void

    • תוצאה

      number

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

קריאת נתונים מהשקע המחובר הנתון.

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

  • bufferSize

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

    הגודל של מאגר הנתונים הזמני לקריאה.

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

    פונקציה

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

    (readInfo: ReadInfo) => void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

מקבל נתונים משקע ה-UDP הנתון.

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

  • bufferSize

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

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

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

    פונקציה

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

    (recvFromInfo: RecvFromInfo) => void

secure()

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

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

פרמטרים

  • socketId

    number

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

  • אפשרויות

    SecureOptions אופציונלי

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

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

    פונקציה

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

    (result: number) => void

    • תוצאה

      number

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)

שליחת נתונים בשקע ה-UDP הנתון לכתובת וליציאה הנתונים.

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

  • נתונים

    ArrayBuffer

    הנתונים לכתיבה.

  • כתובת

    מחרוזת

    הכתובת של המחשב המרוחק.

  • יציאה

    number

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

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

    פונקציה

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

    (writeInfo: WriteInfo) => void

setKeepAlive()

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

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

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

  • enable

    בוליאני

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

  • עיכוב

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

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

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

    פונקציה

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

    (result: boolean) => void

    • תוצאה

      בוליאני

setMulticastLoopbackMode()

chrome.socket.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)

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

הערה: יש הבדלים קלים בהתנהגות של setMulticastLoopbackMode בין מערכות כמו Windows ו-Unix. חוסר העקביות מתרחש רק כאשר יותר מאפליקציה אחת באותו מארח שמחוברת לאותה קבוצת Multicast, כשיש לה הגדרות שונות במצב Multicast לולאה חוזרת. ב-Windows, אפליקציות שההפעלה שלהן מושבתת לא יקבלו את חבילות הלולאה החוזרת; במערכות כמו Unix, האפליקציות שמותקנות בהן לולאה חוזרת לא ישלחו את חבילות הלולאה החוזרת לאפליקציות אחרות באותו מארח. פרטים נוספים זמינים ב-MSDN: http://goo.gl/6vqbj

קריאה לשיטה הזו אינה דורשת הרשאות Multicast.

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

  • פעיל

    בוליאני

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

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

    פונקציה

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

    (result: number) => void

    • תוצאה

      number

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)

הגדרת ה-Time to Live של חבילות Multicast שנשלחות לקבוצה ב-Multicast.

קריאה לשיטה הזו אינה דורשת הרשאות Multicast.

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

  • ttl

    number

    הערך של אורך החיים.

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

    פונקציה

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

    (result: number) => void

    • תוצאה

      number

setNoDelay()

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

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

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

  • noDelay

    בוליאני

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

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

    פונקציה

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

    (result: boolean) => void

    • תוצאה

      בוליאני

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

כתיבת נתונים על השקע המחובר הנתון.

פרמטרים

  • socketId

    number

    מזהה ה-socketId.

  • נתונים

    ArrayBuffer

    הנתונים לכתיבה.

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

    פונקציה

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

    (writeInfo: WriteInfo) => void