توضیحات
از chrome.sockets.udp
API برای ارسال و دریافت داده ها از طریق شبکه با استفاده از اتصالات UDP استفاده کنید. این API جایگزین عملکرد UDP می شود که قبلاً در "سوکت" API یافت شده بود.
آشکار
انواع
CreateInfo
خواص
- socketId
شماره
شناسه سوکت تازه ایجاد شده. توجه داشته باشید که شناسههای سوکت ایجاد شده از این API با شناسههای سوکت ایجاد شده از سایر APIها، مانند API منسوخ
[
سوکت](../socket/)
سازگار نیستند.
DnsQueryType
تنظیمات برگزیده وضوح 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
SocketInfo []
آرایه ای از شی حاوی اطلاعات سوکت.
برمی گرداند
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.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
برای این سوکت افزایش نخواهد یافت.
پارامترها
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(info: ReceiveErrorInfo) => void
- اطلاعات