chrome.socket

شرح

از 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

مشخصات

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

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

بازگشتی‌ها

  • 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

recvFrom()

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

داده‌ها را از سوکت UDP داده‌شده دریافت می‌کند.

پارامترها

  • socketId

    شماره

    socketId.

  • bufferSize

    شماره اختیاری

    اندازه میان‌گیر دریافت.

  • تماس برگشتی

    عملکرد

    پارامتر callback به‌صورت زیر است:

    (recvFromInfo: RecvFromInfo) => void

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

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

داده‌ها را در سوکت متصل‌شده داده‌شده می‌نویسد.

پارامترها

  • socketId

    شماره

    socketId.

  • داده

    ArrayBuffer

    داده‌ها برای نوشتن.

  • تماس برگشتی

    عملکرد

    پارامتر callback به‌صورت زیر است:

    (writeInfo: WriteInfo) => void