شرح
از chrome.socket
API برای ارسال و دریافت داده از طریق شبکه با استفاده از اتصالات TCP و UDP استفاده کنید. توجه: با شروع Chrome 33، این API به نفع API های sockets.udp
، sockets.tcp
و sockets.tcpServer
منسوخ شده است.
مجوزها
socket
انواع
AcceptInfo
خواص
- نتیجه کد
عدد
- socketId
شماره اختیاری
شناسه سوکت پذیرفته شده
CreateInfo
خواص
- socketId
عدد
شناسه سوکت تازه ایجاد شده.
CreateOptions
NetworkInterface
خواص
- نشانی
رشته
آدرس IPv4/6 موجود.
- نام
رشته
نام اصلی آداپتور. در *nix، این معمولاً "eth0"، "lo" و غیره خواهد بود.
- طول پیشوند
عدد
طول پیشوند
ReadInfo
خواص
- داده ها
ArrayBuffer
- نتیجه کد
عدد
resultCode از فراخوانی ()read زیرین بازگشت.
RecvFromInfo
خواص
- نشانی
رشته
آدرس دستگاه از راه دور.
- داده ها
ArrayBuffer
- بندر
عدد
- نتیجه کد
عدد
resultCode از فراخوانی recvfrom() زیرین بازگشت.
SecureOptions
خواص
- نسخه tls
TLSVersionConstraints اختیاری است
SocketInfo
خواص
- متصل
بولی
اینکه آیا سوکت زیرین وصل است یا خیر.
برای سوکتهای
tcp
، حتی اگر همتای راه دور قطع شده باشد، این موضوع صادق است. خواندن یا نوشتن در سوکت ممکن است منجر به خطا شود که به این نکته اشاره میکند که این سوکت باید از طریقdisconnect()
قطع شود.برای سوکت های
udp
، این فقط نشان می دهد که آیا یک آدرس راه دور پیش فرض برای خواندن و نوشتن بسته ها مشخص شده است یا خیر. - آدرس محلی
رشته اختیاری
اگر سوکت زیرین متصل یا متصل باشد، حاوی آدرس 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
خواص
- بایت نوشته شده است
عدد
تعداد بایت های ارسال شده یا کد خطای منفی.
مواد و روش ها
accept()
chrome.socket.accept(
socketId: number,
callback: function,
)
این روش فقط برای سوکت های TCP کاربرد دارد. هنگامی که اتصال در این سوکت سرور شنود پذیرفته می شود، یک تابع تماس را ثبت می کند تا فراخوانی شود. ابتدا باید گوش دهید. اگر در حال حاضر یک پاسخ پاسخ به پذیرش فعال وجود داشته باشد، این پاسخ تماس بلافاصله با یک خطا به عنوان resultCode فراخوانی می شود.
مولفه های
- socketId
عدد
SocketId.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(acceptInfo: AcceptInfo)=>void
- پذیرش اطلاعات
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
آدرس محلی را برای سوکت متصل می کند. در حال حاضر از سوکت TCP پشتیبانی نمی کند.
مولفه های
- socketId
عدد
SocketId.
- نشانی
رشته
آدرس دستگاه محلی
- بندر
عدد
پورت ماشین محلی.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number)=>void
- نتیجه
عدد
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
)
سوکت را به دستگاه از راه دور (برای سوکت tcp
) وصل می کند. برای یک سوکت udp
، این آدرس پیشفرض را تعیین میکند که بستهها برای فراخوانیهای read()
و write()
به آن ارسال و خوانده میشوند.
مولفه های
- socketId
عدد
SocketId.
- نام میزبان
رشته
نام میزبان یا آدرس IP دستگاه راه دور.
- بندر
عدد
پورت دستگاه از راه دور.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number)=>void
- نتیجه
عدد
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
)
یک سوکت از نوع مشخص شده ایجاد می کند که به دستگاه از راه دور مشخص شده متصل می شود.
مولفه های
- نوع
نوع سوکت برای ایجاد. باید
tcp
یاudp
باشد. - گزینه ها
CreateOptions اختیاری است
گزینه های سوکت
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:(createInfo: CreateInfo)=>void
- createInfo
برمی گرداند
Promise< CreateInfo >
Chrome 121+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.
destroy()
chrome.socket.destroy(
socketId: number,
)
سوکت را از بین می برد. هر سوکت ایجاد شده باید پس از استفاده از بین برود.
مولفه های
- socketId
عدد
SocketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
سوکت را جدا می کند. برای سوکتهای UDP، disconnect
غیرعملیاتی است، اما برای تماس بیخطر است.
مولفه های
- socketId
عدد
SocketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
وضعیت سوکت داده شده را بازیابی می کند.
مولفه های
- socketId
عدد
SocketId.
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:(result: SocketInfo)=>void
- نتیجه
برمی گرداند
Promise< SocketInfo >
Chrome 121+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
آدرس های گروه چندپخشی را که سوکت در حال حاضر به آنها متصل است، دریافت کنید.
مولفه های
- socketId
عدد
SocketId.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(groups: string[])=>void
- گروه ها
رشته[]
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
اطلاعات مربوط به آداپتورهای محلی این سیستم را بازیابی می کند.
مولفه های
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:(result: NetworkInterface[])=>void
- نتیجه
رابط شبکه []
برمی گرداند
Promise< رابط شبکه []>
Chrome 121+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
)
به گروه چندپخشی بپیوندید و شروع به دریافت بسته ها از آن گروه کنید. سوکت باید از نوع UDP باشد و قبل از فراخوانی این روش باید به پورت محلی متصل شود.
مولفه های
- socketId
عدد
SocketId.
- نشانی
رشته
آدرس گروه برای پیوستن. نام دامنه پشتیبانی نمی شود.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number)=>void
- نتیجه
عدد
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
گروه چندپخشی را که قبلاً با استفاده از joinGroup
ملحق شدهاید، ترک کنید. قبل از از بین بردن سوکت یا خروج، لازم نیست گروه چندپخشی را ترک کنید. این به طور خودکار توسط سیستم عامل فراخوانی می شود.
خروج از گروه از ارسال دیتاگرام های چندپخشی به میزبان محلی توسط روتر جلوگیری می کند، با این فرض که هیچ فرآیند دیگری در میزبان هنوز به گروه ملحق نشده است.
مولفه های
- socketId
عدد
SocketId.
- نشانی
رشته
آدرس گروه برای ترک. نام دامنه پشتیبانی نمی شود.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number)=>void
- نتیجه
عدد
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
)
این روش فقط برای سوکت های TCP کاربرد دارد. به اتصالات در پورت و آدرس مشخص شده گوش می دهد. این به طور موثر این سوکت را به یک سوکت سرور تبدیل میکند و عملکردهای سوکت مشتری (اتصال، خواندن، نوشتن) دیگر نمیتواند در این سوکت استفاده شود.
مولفه های
- socketId
عدد
SocketId.
- نشانی
رشته
آدرس دستگاه محلی
- بندر
عدد
پورت ماشین محلی.
- جمع شدن
شماره اختیاری
طول صف گوش دادن سوکت.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number)=>void
- نتیجه
عدد
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
)
داده ها را از سوکت متصل داده شده می خواند.
مولفه های
- socketId
عدد
SocketId.
- bufferSize
شماره اختیاری
اندازه بافر خوانده شده
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(readInfo: ReadInfo)=>void
- خواندن اطلاعات
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
داده ها را از سوکت UDP داده شده دریافت می کند.
مولفه های
- socketId
عدد
SocketId.
- bufferSize
شماره اختیاری
اندازه بافر دریافت
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(recvFromInfo: RecvFromInfo)=>void
- recvFromInfo
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
یک اتصال کلاینت TLS را از طریق یک سوکت مشتری TCP متصل شروع کنید.
مولفه های
- socketId
عدد
سوکت متصل برای استفاده.
- گزینه ها
SecureOptions اختیاری است
محدودیت ها و پارامترهای اتصال TLS.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number)=>void
- نتیجه
عدد
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
)
داده های سوکت UDP داده شده را به آدرس و پورت داده شده ارسال می کند.
مولفه های
- socketId
عدد
SocketId.
- داده ها
ArrayBuffer
داده هایی برای نوشتن
- نشانی
رشته
آدرس دستگاه از راه دور.
- بندر
عدد
پورت دستگاه از راه دور.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(writeInfo: WriteInfo)=>void
- نوشتن اطلاعات
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
عملکرد نگه داشتن زنده را برای اتصال TCP فعال یا غیرفعال می کند.
مولفه های
- socketId
عدد
SocketId.
- فعال کردن
بولی
اگر درست است، عملکرد نگه داشتن زنده را فعال کنید.
- تاخیر انداختن
شماره اختیاری
ثانیه های تاخیر را بین آخرین بسته داده دریافتی و اولین پروب نگهدارنده تنظیم کنید. پیش فرض 0 است.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: boolean)=>void
- نتیجه
بولی
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
تنظیم کنید که بسته های چندپخشی ارسال شده از میزبان به گروه چندپخشی دوباره به میزبان بازگردانده شوند.
توجه: رفتار setMulticastLoopbackMode
بین ویندوز و سیستمهای شبه یونیکس کمی متفاوت است. این تناقض تنها زمانی اتفاق میافتد که بیش از یک برنامه در یک میزبان وجود داشته باشد که به گروه چندپخشی یکسانی ملحق شده باشند در حالی که تنظیمات متفاوتی در حالت چندپخشی حلقهای دارند. در ویندوز، برنامههایی که Loopback خاموش هستند، بستههای Loopback را دریافت نمیکنند. در حالی که در سیستمهای شبه یونیکس، برنامههای دارای Loopback خاموش، بستههای Loopback را به برنامههای کاربردی دیگر در همان میزبان ارسال نمیکنند. MSDN را ببینید: http://goo.gl/6vqbj
فراخوانی این روش به مجوزهای چندپخشی نیاز ندارد.
مولفه های
- socketId
عدد
SocketId.
- فعال شد
بولی
مشخص کنید که آیا حالت Loopback فعال شود یا خیر.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number)=>void
- نتیجه
عدد
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
زمان پخش بسته های چندپخشی ارسال شده به گروه چندپخشی را تنظیم کنید.
فراخوانی این روش به مجوزهای چندپخشی نیاز ندارد.
مولفه های
- socketId
عدد
SocketId.
- ttl
عدد
ارزش زمان برای زندگی
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number)=>void
- نتیجه
عدد
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
TCP_NODELAY
برای اتصال TCP تنظیم یا پاک می کند. وقتی TCP_NODELAY
تنظیم شود، الگوریتم Nagle غیرفعال خواهد شد.
مولفه های
- socketId
عدد
SocketId.
- بدون تاخیر
بولی
اگر درست باشد، الگوریتم Nagle را غیرفعال می کند.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: boolean)=>void
- نتیجه
بولی
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
داده ها را روی سوکت متصل می نویسد.