chrome.sockets.udp

شرح

از chrome.sockets.udp API برای ارسال و دریافت داده ها از طریق شبکه با استفاده از اتصالات UDP استفاده کنید. این API جایگزین عملکرد UDP می شود که قبلاً در "سوکت" API یافت شده بود.

آشکار

برای استفاده از این API باید کلیدهای زیر در مانیفست اعلان شوند.

"sockets"

انواع

CreateInfo

خواص

  • socketId

    عدد

    شناسه سوکت تازه ایجاد شده. توجه داشته باشید که شناسه‌های سوکت ایجاد شده از این API با شناسه‌های سوکت ایجاد شده از سایر APIها، مانند API منسوخ [ سوکت ](../socket/) سازگار نیستند.

DnsQueryType

Chrome 103+

تنظیمات برگزیده وضوح DNS پیش فرض any است و از پیکربندی فعلی سیستم عامل استفاده می کند که ممکن است IPv4 یا IPv6 را برگرداند. ipv4 IPv4 را مجبور می کند و ipv6 IPv6 را مجبور می کند.

Enum

"هر"

"ipv4"

"ipv6"

ReceiveErrorInfo

خواص

  • نتیجه کد

    عدد

    کد نتیجه از فراخوانی recvfrom() بازگردانده شد.

  • socketId

    عدد

    شناسه سوکت

ReceiveInfo

خواص

  • داده ها

    ArrayBuffer

    محتوای بسته UDP (به اندازه بافر فعلی کوتاه شده است).

  • RemoteAdress

    رشته

    آدرس میزبانی که بسته از آن می آید.

  • RemotePort

    عدد

    پورت میزبانی که بسته از آن می آید.

  • socketId

    عدد

    شناسه سوکت

SendInfo

خواص

  • bytesSent

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

    تعداد بایت های ارسال شده (اگر نتیجه == 0)

  • نتیجه کد

    عدد

    کد نتیجه از تماس شبکه اصلی برگردانده شد. مقدار منفی نشان دهنده یک خطا است.

SocketInfo

خواص

  • bufferSize

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

    اندازه بافری که برای دریافت داده ها استفاده می شود. اگر اندازه بافر به طور صریح مشخص نشده باشد، مقدار ارائه نمی شود.

  • آدرس محلی

    رشته اختیاری

    اگر سوکت زیرین محدود باشد، حاوی آدرس IPv4/6 محلی آن است.

  • localPort

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

    اگر سوکت زیرین بسته باشد، حاوی پورت محلی آن است.

  • نام

    رشته اختیاری

    رشته تعریف شده برنامه مرتبط با سوکت.

  • مکث کرد

    بولی

    پرچمی که نشان می‌دهد سوکت در رویدادهای Receive فعال نمی‌شود یا خیر.

  • مداوم

    بولی

    پرچم را نشان می دهد که آیا سوکت هنگام تعلیق برنامه باز می ماند یا خیر (به SocketProperties.persistent مراجعه کنید).

  • socketId

    عدد

    شناسه سوکت

SocketProperties

خواص

  • bufferSize

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

    اندازه بافری که برای دریافت داده ها استفاده می شود. اگر بافر برای دریافت بسته UDP خیلی کوچک باشد، داده ها از بین می روند. مقدار پیش فرض 4096 است.

  • نام

    رشته اختیاری

    یک رشته تعریف شده توسط برنامه مرتبط با سوکت.

  • مداوم

    بولی اختیاری

    پرچم را نشان می دهد که آیا هنگام بارگیری صفحه رویداد برنامه، سوکت باز مانده است (به مدیریت چرخه عمر برنامه مراجعه کنید). مقدار پیش فرض غلط است." هنگامی که برنامه بارگیری می شود، هر سوکتی که قبلاً با persistent=true باز شده است را می توان با getSockets واکشی کرد.

مواد و روش ها

bind()

chrome.sockets.udp.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)

آدرس محلی و پورت سوکت را متصل می کند. برای سوکت مشتری، توصیه می شود از پورت 0 استفاده کنید تا به پلتفرم اجازه دهید یک پورت رایگان را انتخاب کند.

هنگامی که عملیات bind با موفقیت کامل شد، رویدادهای onReceive زمانی که بسته‌های UDP به آدرس/پورت مشخص‌شده می‌رسند افزایش می‌یابند - مگر اینکه سوکت متوقف شود.

مولفه های

  • socketId

    عدد

    شناسه سوکت

  • نشانی

    رشته

    آدرس دستگاه محلی نام DNS، فرمت‌های IPv4 و IPv6 پشتیبانی می‌شوند. از "0.0.0.0" برای پذیرش بسته ها از تمام رابط های شبکه محلی موجود استفاده کنید.

  • بندر

    عدد

    پورت ماشین محلی. از "0" برای اتصال به پورت آزاد استفاده کنید.

  • پاسخ به تماس

    تابع

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

    (result: number)=>void

    • نتیجه

      عدد

      کد نتیجه از تماس شبکه اصلی برگردانده شد. مقدار منفی نشان دهنده یک خطا است.

close()

وعده
chrome.sockets.udp.close(
  socketId: number,
  callback?: function,
)

سوکت را می‌بندد و آدرس/پورتی را که سوکت به آن متصل است آزاد می‌کند. هر سوکت ایجاد شده باید پس از استفاده بسته شود. به محض فراخوانی تابع، شناسه سوکت دیگر معتبر نیست. با این حال، سوکت تضمین می شود که فقط زمانی که تماس برگشتی فراخوانی شود بسته می شود.

مولفه های

  • socketId

    عدد

    شناسه سوکت

  • پاسخ به تماس

    عملکرد اختیاری

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

    ()=>void

برمی گرداند

  • قول<باطل>

    Chrome 121+

    Promises فقط برای Manifest V3 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از callback استفاده کنند.

create()

وعده
chrome.sockets.udp.create(
  properties?: SocketProperties,
  callback?: function,
)

یک سوکت UDP با ویژگی های داده شده ایجاد می کند.

مولفه های

  • خواص

    SocketProperties اختیاری است

    ویژگی های سوکت (اختیاری).

  • پاسخ به تماس

    عملکرد اختیاری

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

    (createInfo: CreateInfo)=>void

    • createInfo

      نتیجه ایجاد سوکت.

برمی گرداند

  • Promise< CreateInfo >

    Chrome 121+

    Promises فقط برای Manifest V3 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از callback استفاده کنند.

getInfo()

وعده
chrome.sockets.udp.getInfo(
  socketId: number,
  callback?: function,
)

وضعیت سوکت داده شده را بازیابی می کند.

مولفه های

  • socketId

    عدد

    شناسه سوکت

  • پاسخ به تماس

    عملکرد اختیاری

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

    (socketInfo: SocketInfo)=>void

    • socketInfo

      شی حاوی اطلاعات سوکت.

برمی گرداند

  • Promise< SocketInfo >

    Chrome 121+

    Promises فقط برای Manifest V3 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از callback استفاده کنند.

getJoinedGroups()

وعده
chrome.sockets.udp.getJoinedGroups(
  socketId: number,
  callback?: function,
)

آدرس های گروه چندپخشی را می گیرد که سوکت در حال حاضر به آنها متصل است.

مولفه های

  • socketId

    عدد

    شناسه سوکت

  • پاسخ به تماس

    عملکرد اختیاری

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

    (groups: string[])=>void

    • گروه ها

      رشته[]

      مجموعه ای از گروه هایی که سوکت به آنها ملحق شده است.

برمی گرداند

  • قول<string[]>

    Chrome 121+

    Promises فقط برای Manifest V3 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از callback استفاده کنند.

getSockets()

وعده
chrome.sockets.udp.getSockets(
  callback?: function,
)

لیست سوکت های باز شده در حال حاضر متعلق به برنامه را بازیابی می کند.

مولفه های

  • پاسخ به تماس

    عملکرد اختیاری

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

    (socketInfos: SocketInfo[])=>void

    • socketInfos

      آرایه ای از شی حاوی اطلاعات سوکت.

برمی گرداند

  • Promise< SocketInfo []>

    Chrome 121+

    Promises فقط برای Manifest V3 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از callback استفاده کنند.

joinGroup()

chrome.sockets.udp.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)

به گروه چندپخشی می پیوندد و شروع به دریافت بسته ها از آن گروه می کند. قبل از فراخوانی این روش، سوکت باید به یک پورت محلی متصل شود.

مولفه های

  • socketId

    عدد

    شناسه سوکت

  • نشانی

    رشته

    آدرس گروه برای پیوستن نام دامنه پشتیبانی نمی شود.

  • پاسخ به تماس

    تابع

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

    (result: number)=>void

    • نتیجه

      عدد

      کد نتیجه از تماس شبکه اصلی برگردانده شد. مقدار منفی نشان دهنده یک خطا است.

leaveGroup()

chrome.sockets.udp.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)

گروه چندپخشی را که قبلاً با استفاده از joinGroup ملحق شده بود ترک می کند. این فقط در صورتی لازم است که بعداً به استفاده از سوکت ادامه دهید، زیرا هنگامی که سوکت بسته شود این کار به طور خودکار توسط سیستم عامل انجام می شود.

خروج از گروه از ارسال دیتاگرام های چندپخشی به میزبان محلی توسط روتر جلوگیری می کند، با این فرض که هیچ فرآیند دیگری در میزبان هنوز به گروه ملحق نشده است.

مولفه های

  • socketId

    عدد

    شناسه سوکت

  • نشانی

    رشته

    آدرس گروه برای ترک. نام دامنه پشتیبانی نمی شود.

  • پاسخ به تماس

    تابع

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

    (result: number)=>void

    • نتیجه

      عدد

      کد نتیجه از تماس شبکه اصلی برگردانده شد. مقدار منفی نشان دهنده یک خطا است.

send()

chrome.sockets.udp.send(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)

داده های سوکت داده شده را به آدرس و پورت داده شده ارسال می کند. قبل از فراخوانی این روش، سوکت باید به یک پورت محلی متصل شود.

مولفه های

  • socketId

    عدد

    شناسه سوکت

  • داده ها

    ArrayBuffer

    داده های ارسالی

  • نشانی

    رشته

    آدرس دستگاه از راه دور.

  • بندر

    عدد

    پورت دستگاه از راه دور.

  • dnsQueryType

    DnsQueryType اختیاری است

    Chrome 103+

    اولویت وضوح آدرس.

  • پاسخ به تماس

    تابع

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

    (sendInfo: SendInfo)=>void

    • ارسال اطلاعات

      نتیجه روش send

setBroadcast()

Chrome 44+
chrome.sockets.udp.setBroadcast(
  socketId: number,
  enabled: boolean,
  callback: function,
)

بسته های پخش را در این سوکت فعال یا غیرفعال می کند.

مولفه های

  • socketId

    عدد

    شناسه سوکت

  • فعال شد

    بولی

    true برای فعال کردن بسته های پخش، false برای غیرفعال کردن آنها.

  • پاسخ به تماس

    تابع

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

    (result: number)=>void

    • نتیجه

      عدد

      کد نتیجه از تماس شبکه اصلی برگردانده شد.

setMulticastLoopbackMode()

chrome.sockets.udp.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)

تنظیم می کند که بسته های چندپخشی ارسال شده از میزبان به گروه چندپخشی دوباره به میزبان بازگردانده شوند.

توجه: رفتار setMulticastLoopbackMode بین ویندوز و سیستم‌های شبه یونیکس کمی متفاوت است. این تناقض تنها زمانی اتفاق می‌افتد که بیش از یک برنامه در یک میزبان وجود داشته باشد که به گروه چندپخشی یکسانی ملحق شده باشند در حالی که تنظیمات متفاوتی در حالت چندپخشی حلقه‌ای دارند. در ویندوز، برنامه‌هایی که Loopback خاموش هستند، بسته‌های Loopback را دریافت نمی‌کنند. در حالی که در سیستم‌های شبه یونیکس، برنامه‌های دارای Loopback خاموش، بسته‌های Loopback را به برنامه‌های کاربردی دیگر در همان میزبان ارسال نمی‌کنند. MSDN را ببینید: http://goo.gl/6vqbj

فراخوانی این روش به مجوزهای چندپخشی نیاز ندارد.

مولفه های

  • socketId

    عدد

    شناسه سوکت

  • فعال شد

    بولی

    مشخص کنید که آیا حالت Loopback فعال شود یا خیر.

  • پاسخ به تماس

    تابع

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

    (result: number)=>void

    • نتیجه

      عدد

      کد نتیجه از تماس شبکه اصلی برگردانده شد. مقدار منفی نشان دهنده یک خطا است.

setMulticastTimeToLive()

chrome.sockets.udp.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)

زمان پخش بسته های چندپخشی ارسال شده به گروه چندپخشی را تنظیم می کند.

فراخوانی این روش به مجوزهای چندپخشی نیاز ندارد.

مولفه های

  • socketId

    عدد

    شناسه سوکت

  • ttl

    عدد

    ارزش زمان برای زندگی

  • پاسخ به تماس

    تابع

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

    (result: number)=>void

    • نتیجه

      عدد

      کد نتیجه از تماس شبکه اصلی برگردانده شد. مقدار منفی نشان دهنده یک خطا است.

setPaused()

وعده
chrome.sockets.udp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

یک سوکت را متوقف یا لغو مکث می کند. سوکت مکث شده از راه اندازی رویدادهای onReceive مسدود شده است.

مولفه های

  • socketId

    عدد

  • مکث کرد

    بولی

    برای نشان دادن توقف یا لغو مکث پرچم گذاری کنید.

  • پاسخ به تماس

    عملکرد اختیاری

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

    ()=>void

برمی گرداند

  • قول<باطل>

    Chrome 121+

    Promises فقط برای Manifest V3 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از callback استفاده کنند.

update()

وعده
chrome.sockets.udp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

ویژگی های سوکت را به روز می کند.

مولفه های

  • socketId

    عدد

    شناسه سوکت

  • خواص برای به روز رسانی

  • پاسخ به تماس

    عملکرد اختیاری

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

    ()=>void

برمی گرداند

  • قول<باطل>

    Chrome 121+

    Promises فقط برای Manifest V3 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از callback استفاده کنند.

مناسبت ها

onReceive

chrome.sockets.udp.onReceive.addListener(
  callback: function,
)

هنگامی که یک بسته UDP برای سوکت داده شده دریافت شده است، رویداد مطرح می شود.

مولفه های

  • پاسخ به تماس

    تابع

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

    (info: ReceiveInfo)=>void

onReceiveError

chrome.sockets.udp.onReceiveError.addListener(
  callback: function,
)

هنگامی که یک خطای شبکه در زمانی که زمان اجرا منتظر داده‌ها در آدرس سوکت و پورت بود، رخ داد، رویداد مطرح شد. پس از بالا آمدن این رویداد، سوکت متوقف می شود و تا زمانی که سوکت از سر گرفته نشود، دیگر رویدادهای onReceive برای این سوکت افزایش نخواهد یافت.

مولفه های