شرح
از chrome.socket API برای ارسال و دریافت داده ازطریق شبکه بااستفاده از اتصالات TCP و UDP استفاده کنید. توجه: از Chrome 33، این API بهنفع APIهای sockets.udp، sockets.tcp، و sockets.tcpServer منسوخ شده است.
اجازهها
socketانواع
AcceptInfo
مشخصات
-
resultCode
شماره
-
socketId
شماره اختیاری
شناسه سوکت پذیرفتهشده.
CreateInfo
مشخصات
-
socketId
شماره
شناسه سوکت تازه ایجادشده.
CreateOptions
NetworkInterface
مشخصات
-
نشانی
رشته
نشانی IPv4/6 دردسترس.
-
نام
رشته
نام اصلی آداپتور. در *nix، این معمولاً «eth0»، «lo»، و غیره خواهد بود.
-
prefixLength
شماره
طول پیشوند
ReadInfo
مشخصات
-
داده
ArrayBuffer
-
resultCode
شماره
resultCode برگشتی از فراخوانی read() زیربنایی.
RecvFromInfo
مشخصات
-
نشانی
رشته
نشانی دستگاه ازراهدور.
-
داده
ArrayBuffer
-
درگاه
شماره
-
resultCode
شماره
resultCode برگشتی از فراخوانی recvfrom() زیربنایی.
SecureOptions
مشخصات
-
tlsVersion
TLSVersionConstraints اختیاری
SocketInfo
مشخصات
-
اتصال برقرار شد
بولی
اینکه سوکت زیرین متصل است یا نه.
برای سوکتهای
tcp، این مقدار حتی اگر همتای راه دور قطع شده باشد، درست باقی میماند. سپس خواندن یا نوشتن در سوکت ممکن است منجر به خطا شود، که نشان میدهد این سوکت باید ازطریقdisconnect()قطع شود.برای سوکتهای
udp، این فقط نشان میدهد که آیا نشانی راه دور پیشفرضی برای خواندن و نوشتن بستهها مشخص شده است یا نه. -
localAddress
رشته اختیاری
اگر سوکت زیرین مقید یا متصل باشد، حاوی نشانی IPv4/6 محلی آن است.
-
localPort
شماره اختیاری
اگر سوکت زیرین مقید یا متصل باشد، حاوی درگاه محلی آن است.
-
peerAddress
رشته اختیاری
اگر سوکت زیرین متصل باشد، حاوی نشانی IPv4/6 همتا است.
-
peerPort
شماره اختیاری
اگر سوکت زیرین متصل باشد، حاوی درگاه همتای متصل است.
-
socketType
نوع سوکت ارسالشده. این مقدار
tcpیاudpخواهد بود.
SocketType
شمارشی
"tcp"
"udp"
TLSVersionConstraints
مشخصات
-
حداکثر
رشته اختیاری
-
دقیقه
رشته اختیاری
حداقل و حداکثر نسخههای قابلقبول «امنیت لایه انتقال». مقادیر پشتیبانیشده
tls1.2یاtls1.3است.مقادیر
tls1وtls1.1دیگر پشتیبانی نمیشوند. اگرminروی یکی از این مقادیر تنظیم شود، بیصدا بهtls1.2محدود میشود. اگرmaxروی یکی از این مقادیر یا هر مقدار ناشناخته دیگری تنظیم شده باشد، بدون اطلاع نادیده گرفته خواهد شد.
WriteInfo
مشخصات
-
bytesWritten
شماره
تعداد بایتهای ارسالشده، یا کد خطای منفی.
روشها
accept()
chrome.socket.accept(
socketId: number,
callback: function,
): void
این روش فقط برای سوکتهای TCP اعمال میشود. تابع بازخوانی را برای فراخوانی هنگام پذیرفته شدن اتصال در این سوکت سرور شنونده ثبت میکند. ابتدا باید Listen فراخوانی شود. اگر ازقبل یک فراخوانی برگشتی پذیرش فعال وجود داشته باشد، این فراخوانی برگشتی بلافاصله با یک خطا بهعنوان resultCode فراخوانی میشود.
پارامترها
-
socketId
شماره
socketId.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
نشانی محلی را برای سوکت مقید میکند. درحالحاضر، از سوکت TCP پشتیبانی نمیکند.
پارامترها
-
socketId
شماره
socketId.
-
نشانی
رشته
نشانی ماشین محلی.
-
درگاه
شماره
درگاه ماشین محلی.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
): void
سوکت را به دستگاه راه دور متصل میکند (برای سوکت tcp). برای سوکت udp، این گزینه نشانی پیشفرضی را تنظیم میکند که بستهها برای تماسهای read() و write() به آن ارسال و از آن خوانده میشوند.
پارامترها
-
socketId
شماره
socketId.
-
نام میزبان
رشته
نام میزبان یا نشانی IP دستگاه راه دور.
-
درگاه
شماره
درگاه ماشین راهدور.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
): Promise<CreateInfo>
سوکت از نوع مشخصشده ایجاد میکند که به ماشین راه دور مشخصشده متصل خواهد شد.
پارامترها
-
نوع
نوع سوکتی که باید ایجاد شود. باید
tcpیاudpباشد. -
گزینهها
CreateOptions اختیاری
گزینههای سوکت.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(createInfo: CreateInfo) => void
-
createInfo
-
بازگشتیها
-
Promise<CreateInfo>
Chrome نسخه ۱۲۱ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
destroy()
chrome.socket.destroy(
socketId: number,
): void
سوکت را ازبین میبرد. هر سوکت ایجادشده باید پساز استفاده ازبین برود.
پارامترها
-
socketId
شماره
socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
اتصال سوکت را قطع میکند. برای سوکتهای UDP، disconnect غیرعملیاتی است اما فراخوانی آن ایمن است.
پارامترها
-
socketId
شماره
socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
وضعیت سوکت دادهشده را بازیابی میکند.
پارامترها
-
socketId
شماره
socketId.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(result: SocketInfo) => void
-
نتیجه
-
بازگشتیها
-
Promise<SocketInfo>
Chrome نسخه ۱۲۱ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
): void
نشانیهای گروه چندپخشی را که سوکت درحالحاضر به آنها پیوسته است دریافت کنید.
پارامترها
-
socketId
شماره
socketId.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(groups: string[]) => void
-
گروهها
string[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
اطلاعات مربوط به آداپتورهای محلی را در این سیستم بازیابی میکند.
پارامترها
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(result: NetworkInterface[]) => void
-
نتیجه
-
بازگشتیها
-
Promise<NetworkInterface[]>
Chrome نسخه ۱۲۱ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
): void
به گروه چندفرستی بپیوندید و شروع به دریافت بستهها از آن گروه کنید. سوکت باید از نوع UDP باشد و قبلاز فراخوانی این روش باید به درگاه محلی متصل شود.
پارامترها
-
socketId
شماره
socketId.
-
نشانی
رشته
نشانی گروه برای پیوستن. از نامهای دامنه پشتیبانی نمیشود.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
ترک کردن گروه چندپخشی که قبلاً بااستفاده از joinGroup به آن پیوستهاید. لازم نیست قبلاز تخریب سوکت یا خروج، گروه چندفرستی را ترک کنید. این بهطور خودکار توسط سیستمعامل فراخوانی میشود.
با ترک گروه، روتر دیگر دیتاگرامهای چندپخشی را به میزبان محلی ارسال نخواهد کرد، با این فرض که هیچ فرایند دیگری در میزبان همچنان به گروه متصل نباشد.
پارامترها
-
socketId
شماره
socketId.
-
نشانی
رشته
نشانی گروه برای ترک کردن. نامهای دامنه پشتیبانی نمیشود.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
): void
این روش فقط برای سوکتهای TCP اعمال میشود. به اتصالات در درگاه و نشانی مشخصشده گوش میدهد. این کار بهطور مؤثری این سوکت را به سوکت سرور تبدیل میکند و دیگر نمیتوان از عملکردهای سوکت مشتری (اتصال، خواندن، نوشتن) در این سوکت استفاده کرد.
پارامترها
-
socketId
شماره
socketId.
-
نشانی
رشته
نشانی ماشین محلی.
-
درگاه
شماره
درگاه ماشین محلی.
-
کارهای معوقه
شماره اختیاری
طول صف گوش دادن سوکت.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
): void
دادهها را از سوکت متصلشده دادهشده میخواند.
پارامترها
-
socketId
شماره
socketId.
-
bufferSize
شماره اختیاری
اندازه میانگیر خواندن.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
): void
دادهها را از سوکت UDP دادهشده دریافت میکند.
پارامترها
-
socketId
شماره
socketId.
-
bufferSize
شماره اختیاری
اندازه میانگیر دریافت.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
اتصال مشتری TLS را ازطریق نقطه پایانی مشتری TCP متصلشده شروع کنید.
پارامترها
-
socketId
شماره
سوکت متصل برای استفاده.
-
گزینهها
SecureOptions اختیاری
محدودیتها و پارامترهای اتصال «امنیت لایه انتقال».
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
): void
دادهها را در سوکت UDP دادهشده به نشانی و درگاه دادهشده ارسال میکند.
پارامترها
-
socketId
شماره
socketId.
-
داده
ArrayBuffer
دادهها برای نوشتن.
-
نشانی
رشته
نشانی دستگاه ازراهدور.
-
درگاه
شماره
درگاه ماشین راهدور.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
عملکرد keep-alive را برای اتصال TCP فعال یا غیرفعال میکند.
پارامترها
-
socketId
شماره
socketId.
-
فعال کردن
بولی
اگر درست است، عملکرد keep-alive را فعال کنید.
-
تأخیر
شماره اختیاری
تأخیر را برحسب ثانیه بین آخرین بسته داده دریافتی و اولین کاوشگر فعال نگه داشتن تنظیم کنید. پیشفرض ۰ است.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: boolean) => void
-
نتیجه
بولی
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
تنظیم کنید که آیا بستههای چندپخشی ارسالشده از میزبان به گروه چندپخشی به میزبان برگردانده شوند یا نه.
توجه: رفتار setMulticastLoopbackMode در سیستمهای Windows و سیستمهای شبه Unix کمی متفاوت است. این ناسازگاری فقط زمانی اتفاق میافتد که بیشاز یک برنامه در یک میزبان به یک گروه چندفرستی پیوسته باشند و تنظیمات متفاوتی در حالت بازگشت چندفرستی داشته باشند. در Windows، برنامههایی که حلقه بازگشتی آنها خاموش است بستههای حلقه بازگشتی را دریافت نخواهند کرد؛ درحالیکه در سیستمهای شبه Unix، برنامههایی که حلقه بازگشتی آنها خاموش است بستههای حلقه بازگشتی را به برنامههای دیگر در همان میزبان ارسال نخواهند کرد. MSDN را ببینید: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2
فراخوانی این روش به اجازههای چندپخشی نیاز ندارد.
پارامترها
-
socketId
شماره
socketId.
-
فعال شد
بولی
مشخص کنید که آیا حالت برگشت فعال شود یا نه.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
زمان بقای بستههای چندپخشی ارسالشده به گروه چندپخشی را تنظیم کنید.
فراخوانی این روش به اجازههای چندپخشی نیاز ندارد.
پارامترها
-
socketId
شماره
socketId.
-
ttl
شماره
مقدار طول عمر.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
TCP_NODELAY را برای اتصال TCP تنظیم یا پاک میکند. وقتی TCP_NODELAY تنظیم شود، الگوریتم Nagle غیرفعال خواهد شد.
پارامترها
-
socketId
شماره
socketId.
-
noDelay
بولی
اگر درست باشد، الگوریتم Nagle را غیرفعال میکند.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: boolean) => void
-
نتیجه
بولی
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
دادهها را در سوکت متصلشده دادهشده مینویسد.