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