תיאור
אפשר להשתמש ב-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
מאפיינים
-
tlsVersion
TLSVersionConstraints אופציונלי
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
-
acceptInfo
-
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
-
createInfo
-
החזרות
-
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
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
מקבל נתונים משקע ה-UDP הנתון.
פרמטרים
-
socketId
number
מזהה ה-socketId.
-
bufferSize
מספר אופציונלי
הגודל של מאגר הנתונים הזמני שמקבלים.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
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
-
writeInfo
-
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,
)
כתיבת נתונים על השקע המחובר הנתון.