chrome.socket

شرح

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

خواص

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

برمی گرداند

  • 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

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,
)

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

مولفه های

  • socketId

    عدد

    SocketId.

  • داده ها

    ArrayBuffer

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

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (writeInfo: WriteInfo)=>void