תיאור
שימוש ב-API chrome.socket
כדי לשלוח ולקבל נתונים ברשת באמצעות חיבורי TCP ו-UDP. הערה: החל מגרסה 33 של Chrome, ה-API הזה הוצא משימוש והוחלף בממשק ה-API של sockets.udp
, sockets.tcp
ו-sockets.tcpServer
.
הרשאות
socket
סוגים
AcceptInfo
תכונות
-
resultCode
מספר
-
socketId
מספר אופציונלי
המזהה של השקע המקובל.
CreateInfo
תכונות
-
socketId
מספר
המזהה של השקע החדש שנוצר.
CreateOptions
NetworkInterface
תכונות
-
כתובת
מחרוזת
כתובת ה-IPv4/6 הזמינה.
-
name
מחרוזת
השם הבסיסי של המתאם. ב-*nix, הטקסט הוא בדרך כלל "eth0", "lo" וכו'.
-
prefixLength
מספר
אורך הקידומת
ReadInfo
תכונות
-
נתונים
ArrayBuffer
-
resultCode
מספר
resultCode שהוחזר מקריאת ה-read() הבסיסית.
RecvFromInfo
תכונות
-
כתובת
מחרוזת
הכתובת של המכונה המרוחקת.
-
נתונים
ArrayBuffer
-
יציאה
מספר
-
resultCode
מספר
resultCode שהוחזר מהקריאה הבסיסית recvfrom() .
SecureOptions
תכונות
-
tlsVersion
TLSVersionConstraints אופציונלי
SocketInfo
תכונות
-
מחובר
boolean
האם השקע הבסיסי מחובר.
עבור שקעים של
tcp
, הערך יישאר True גם אם הצד השני בשיחה התנתק. קריאה או כתיבה לשקע עלולות להוביל לשגיאה, ולרמז על כך שהשקע הזה צריך להיות מנותק דרךdisconnect()
.לשקעי
udp
, הערך הזה רק מציין אם צוינה כתובת מרוחקת של ברירת מחדל לקריאה ולכתיבה של מנות. -
localAddress
מחרוזת אופציונלי
אם השקע הבסיסי מקושר או מחובר, מכיל את כתובת IPv4/6 המקומית שלו.
-
localPort
מספר אופציונלי
אם השקע הבסיסי מקושר או מחובר, מכיל את היציאה המקומית שלו.
-
peerAddress
מחרוזת אופציונלי
אם השקע הבסיסי מחובר, מכיל את כתובת IPv4/6 של הרשת השכנה.
-
peerPort
מספר אופציונלי
אם השקע הבסיסי מחובר, מכיל את היציאה של הרשת השכנה.
-
socketType
סוג השקע שהועבר. זה יהיה
tcp
אוudp
.
SocketType
טיפוסים בני מנייה (enum)
"tcp"
TLSVersionConstraints
תכונות
-
מקסימלי
מחרוזת אופציונלי
-
דק'
מחרוזת אופציונלי
הגרסאות המינימליות והמקסימליות של ה-TLS (אבטחת שכבת התעבורה). הערכים הנתמכים הם
tls1.2
אוtls1.3
.הערכים
tls1
ו-tls1.1
לא נתמכים יותר. אם הפרמטרmin
מוגדר לאחד מהערכים האלה, הוא יוצמד בצורה שקטה ל-tls1.2
. אם המשתנהmax
מוגדר לאחד מהערכים האלה או לכל ערך לא מזוהה אחר, המערכת תתעלם ממנו ללא הודעה.
WriteInfo
תכונות
-
bytesWritten
מספר
מספר הבייטים שנשלחו או קוד שגיאה שלילי.
שיטות
accept()
chrome.socket.accept(
socketId: number,
callback: function,
)
השיטה הזו רלוונטית לשקעי TCP בלבד. רישום של פונקציית קריאה חוזרת שתיקרא כשיתקבל חיבור בשקע של שרת ההאזנה. צריך להפעיל קודם את ההאזנה. אם כבר יש קריאה חוזרת (callback) פעילה, הקריאה החוזרת (callback) הזו תופעל מיד עם שגיאה ב- resultCode.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
הפונקציה מחייבת את הכתובת המקומית של socket. בשלב הזה הוא לא תומך בשקע TCP.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
כתובת
מחרוזת
הכתובת של המכונה המקומית.
-
יציאה
מספר
היציאה של המכונה המקומית.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
)
חיבור השקע למחשב המרוחק (לשקע tcp
). בשקע udp
, ההגדרה הזו מגדירה את כתובת ברירת המחדל שאליה המנות נשלחות וייקראו בשיחות read()
ו-write()
.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
hostname
מחרוזת
שם המארח או כתובת ה-IP של המחשב המרוחק.
-
יציאה
מספר
היציאה של המכונה המרוחקת.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
)
יצירת שקע מהסוג שצוין שיתחבר למכונה המרוחקת שצוינה.
פרמטרים
-
סוג
סוג השקע שצריך ליצור. חייב להיות
tcp
אוudp
. -
אפשרויות
CreateOptions אופציונלי
אפשרויות השקע.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(createInfo: CreateInfo) => void
-
createInfo
-
החזרות
-
Promise<CreateInfo>
Chrome 121 ומעלההבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
destroy()
chrome.socket.destroy(
socketId: number,
)
משמיד את השקע. יש להשמיד כל שקע שנוצר.
פרמטרים
-
socketId
מספר
מזהה השקע.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
מנתקים את השקע. בשקעי UDP, disconnect
לא נדרשת פעולה, אבל אפשר לקרוא אותו בבטחה.
פרמטרים
-
socketId
מספר
מזהה השקע.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
אחזור המצב של השקע הנתון.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(result: SocketInfo) => void
-
תוצאה אחת
-
החזרות
-
Promise<SocketInfo>
Chrome 121 ומעלההבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
אחזור של כתובות הקבוצות של השידורים מרובים שאליהן השקע מחובר כרגע.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(groups: string[]) => void
-
קבוצות
מחרוזת[]
-
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
מספר
מזהה השקע.
-
כתובת
מחרוזת
כתובת הקבוצה שאליה צריך להצטרף. שמות דומיינים לא נתמכים.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
עזיבת הקבוצה מרובת השידורים שהצטרפת אליה בעבר באמצעות joinGroup
. לא צריך לעזוב את הקבוצה של שידורים מרובים לפני השמדת השקע או יציאה ממנו. מערכת ההפעלה קוראת לזה באופן אוטומטי.
עזיבת הקבוצה תמנע מהנתב לשלוח מבני נתונים של שידורים מרובים למארח המקומי, בהנחה שאף תהליך אחר במארח עדיין לא מצורף לקבוצה.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
כתובת
מחרוזת
כתובת הקבוצה שאליה צריך לצאת. שמות דומיינים לא נתמכים.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
)
השיטה הזו רלוונטית לשקעי TCP בלבד. מאזין לחיבורים ביציאה ובכתובת שצוינו. למעשה, זהו שקע שרת, וכבר אי אפשר להשתמש בפונקציות של שקע הלקוח (התחברות, קריאה, כתיבה).
פרמטרים
-
socketId
מספר
מזהה השקע.
-
כתובת
מחרוזת
הכתובת של המכונה המקומית.
-
יציאה
מספר
היציאה של המכונה המקומית.
-
עיכוב
מספר אופציונלי
משך הזמן של תור ההאזנה ב-socket.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
)
קריאת נתונים מהשקע המחובר הנתון.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
bufferSize
מספר אופציונלי
גודל מאגר הנתונים הזמני לקריאה.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
מקבל נתונים משקע ה-UDP הנתון.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
bufferSize
מספר אופציונלי
גודל מאגר הנתונים הזמני לקבל.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
התחלת חיבור של לקוח TLS באמצעות שקע לקוח TCP מחובר.
פרמטרים
-
socketId
מספר
השקע המחובר לשימוש.
-
אפשרויות
SecureOptions אופציונלי
מגבלות ופרמטרים עבור חיבור TLS.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
)
שולח נתונים בשקע ה-UDP הנתון לכתובת וליציאה הנתונות.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
נתונים
ArrayBuffer
הנתונים לכתיבה.
-
כתובת
מחרוזת
הכתובת של המכונה המרוחקת.
-
יציאה
מספר
היציאה של המכונה המרוחקת.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
מפעילה או משביתה את הפונקציונליות של keep-alive עבור חיבור TCP.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
enable
boolean
אם True, מפעילים את הפונקציונליות של שמירת נתונים פעילה.
-
עיכוב
מספר אופציונלי
הגדרת משך ההשהיה (בשניות) בין חבילת הנתונים האחרונה שהתקבלה לבין בקשת ה-Keepalive הראשונה. ברירת המחדל היא 0.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: boolean) => void
-
תוצאה אחת
boolean
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
הגדרה אם חבילות שידור לקבוצה שנשלחו מהמארח לקבוצה של השידורים מרובים, יוחזרו בלולאה ויוצגו בלולאה.
הערה: ההתנהגות של setMulticastLoopbackMode
שונה מעט בין מערכות דמויות Windows ו-Unix. חוסר העקביות קורה רק כאשר יש יותר מאפליקציה אחת באותו מארח שמחוברת לאותה קבוצה של שידורים מרובים, כשיש הגדרות שונות במצב הלולאה החוזרת של שידורים מרובים. ב-Windows, אפליקציות עם לולאה חוזרת כבויות לא יקבלו את מנות הלולאה החוזרת; בעוד שבמערכות דמויי Unix, האפליקציות עם הלולאה החוזרת כבויות לא ישלחו את מנות הלולאה החוזרת לאפליקציות אחרות באותו מארח. אפשר לעיין ב-MSDN: http://goo.gl/6vqbj
כדי להפעיל את השיטה הזו, לא נדרשת הרשאות להעברת שידורים מרובים.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
פעיל
boolean
יש לציין אם להפעיל מצב לולאה חוזרת.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
הגדרת משך החיים של חבילות שידור לקבוצה שנשלחו לקבוצה של שידורים מרובים.
כדי להפעיל את השיטה הזו, לא נדרשת הרשאות להעברת שידורים מרובים.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
ttl
מספר
הערך של משך החיים.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: number) => void
-
תוצאה אחת
מספר
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
מגדירה או מוחקת את TCP_NODELAY
עבור חיבור TCP. האלגוריתם של Nagle יושבת לאחר הגדרת TCP_NODELAY
.
פרמטרים
-
socketId
מספר
מזהה השקע.
-
noDelay
boolean
אם הערך הוא True, האלגוריתם של Nagle מושבת.
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(result: boolean) => void
-
תוצאה אחת
boolean
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
כתיבת נתונים על השקע המחובר הנתון.