شرح
از chrome.sockets.udp API برای ارسال و دریافت داده ازطریق شبکه بااستفاده از اتصالهای UDP استفاده کنید. این API جایگزین عملکرد UDP میشود که قبلاً در API «سوکت» وجود داشت.
مانیفست
انواع
CreateInfo
مشخصات
-
socketId
شماره
شناسه سوکت تازه ایجادشده. توجه داشته باشید که شناسههای سوکت ایجادشده از این میانای برنامهسازی کاربردی با شناسههای سوکت ایجادشده از دیگر میاناهای برنامهسازی کاربردی، مانند میانای برنامهسازی کاربردی منسوخشده
[سوکت](../socket/)، سازگار نیستند.
DnsQueryType
اولویتهای تفکیک ساناد. پیشفرض any است و از پیکربندی سیستمعامل فعلی استفاده میکند که ممکن است IPv4 یا IPv6 را برگرداند. ipv4 پروتکل اینترنتی نسخه ۴ را اجباری میکند و ipv6 پروتکل اینترنتی نسخه ۶ را اجباری میکند.
شمارشی
«any»
"ipv4"
"ipv6"
ReceiveErrorInfo
مشخصات
-
resultCode
شماره
کد نتیجه برگشتی از فراخوانی recvfrom() زیربنایی.
-
socketId
شماره
شناسه سوکت.
ReceiveInfo
مشخصات
-
داده
ArrayBuffer
محتوای بسته UDP (به اندازه میانگیر فعلی کوتاه شده است).
-
remoteAddress
رشته
نشانی میزبانی که بسته از آن میآید.
-
remotePort
شماره
درگاه میزبانی که بسته از آن میآید.
-
socketId
شماره
شناسه سوکت.
SendInfo
مشخصات
-
bytesSent
شماره اختیاری
تعداد بایتهای ارسالشده (اگر نتیجه == 0)
-
resultCode
شماره
کد نتیجه از تماس شبکه زیربنایی برگردانده شد. مقدار منفی نشاندهنده خطا است.
SocketInfo
مشخصات
-
bufferSize
شماره اختیاری
اندازه میانگیری که برای دریافت داده استفاده میشود. اگر اندازه میانگیر بهطور صریح مشخص نشده باشد، مقدار ارائه نمیشود.
-
localAddress
رشته اختیاری
اگر سوکت زیرین محدود شده باشد، حاوی نشانی IPv4/6 محلی آن است.
-
localPort
شماره اختیاری
اگر سوکت زیرین مقید باشد، حاوی درگاه محلی آن است.
-
نام
رشته اختیاری
رشته تعریفشده توسط برنامه مرتبط با سوکت.
-
موقتاً متوقفشده
بولی
پرچمی که نشان میدهد آیا سوکت از راهاندازی رویدادهای onReceive مسدود شده است یا نه.
-
دائمی
بولی
پرچمی که نشان میدهد آیا سوکت هنگام تعلیق برنامه باز میماند یا نه (به
SocketProperties.persistentمراجعه کنید). -
socketId
شماره
شناسه سوکت.
SocketProperties
مشخصات
-
bufferSize
شماره اختیاری
اندازه میانگیری که برای دریافت داده استفاده میشود. اگر میانگیر برای دریافت بسته UDP خیلی کوچک باشد، دادهها ازدست میرود. مقدار پیشفرض ۴۰۹۶ است.
-
نام
رشته اختیاری
رشته تعریفشده توسط برنامه که با سوکت مرتبط است.
-
دائمی
بولی اختیاری
پرچمی که نشان میدهد آیا سوکت هنگام بارگیری نشدن صفحه رویداد برنامه باز میماند (به مدیریت چرخه حیات برنامه مراجعه کنید). مقدار پیشفرض «false» است. وقتی برنامه بار میشود، هر سوکتی که قبلاً با persistent=true باز شده باشد میتواند با
getSocketsواکشی شود.
روشها
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
نشانی و درگاه محلی را برای سوکت مقید میکند. برای نقطه پایانی مشتری، توصیه میشود از درگاه ۰ استفاده کنید تا پلاتفرم بتواند درگاه آزادی را انتخاب کند.
وقتی عملیات bind با موفقیت تکمیل شد، وقتی بستههای UDP به نشانی/درگاه مشخصشده میرسند، رویدادهای onReceive ایجاد میشوند -- مگراینکه سوکت موقتاً متوقف شده باشد.
پارامترها
-
socketId
شماره
شناسه سوکت.
-
نشانی
رشته
نشانی ماشین محلی. از نام ساناد، قالبهای IPv4 و IPv6 پشتیبانی میشود. از «0.0.0.0» برای پذیرش بستهها از همه میاناهای شبکه محلی دردسترس استفاده کنید.
-
درگاه
شماره
درگاه ماشین محلی. از «۰» برای اتصال به درگاه آزاد استفاده کنید.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
کد نتیجه از تماس شبکه زیربنایی برگردانده شد. مقدار منفی نشاندهنده خطا است.
-
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
): Promise<void>
سوکت را میبندد و نشانی/درگاهی را که سوکت به آن متصل است آزاد میکند. هر سوکت ایجادشده باید پساز استفاده بسته شود. شناسه سوکت بهمحض فراخوانی تابع دیگر معتبر نیست. بااینحال، تضمین میشود که سوکت فقط زمانی بسته شود که فراخوانی برگشتی فراخوانده شود.
پارامترها
-
socketId
شماره
شناسه سوکت.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۱۲۱ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
سوکت UDP با ویژگیهای ارائهشده ایجاد میکند.
پارامترها
-
اقامتگاهها
SocketProperties اختیاری
ویژگیهای سوکت (اختیاری).
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(createInfo: CreateInfo) => void
-
createInfo
نتیجه ایجاد سوکت.
-
بازگشتیها
-
Promise<CreateInfo>
Chrome نسخه ۱۲۱ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
وضعیت سوکت دادهشده را بازیابی میکند.
پارامترها
-
socketId
شماره
شناسه سوکت.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(socketInfo: SocketInfo) => void
-
socketInfo
شیء حاوی اطلاعات سوکت.
-
بازگشتیها
-
Promise<SocketInfo>
Chrome نسخه ۱۲۱ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
): Promise<string[]>
نشانیهای گروه چندفرستی را که سوکت درحالحاضر به آن پیوسته است دریافت میکند.
پارامترها
-
socketId
شماره
شناسه سوکت.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(groups: string[]) => void
-
گروهها
string[]
آرایه گروههایی که سوکت به آنها پیوسته است.
-
بازگشتیها
-
Promise<string[]>
Chrome نسخه ۱۲۱ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
فهرست سوکتهای باز فعلی متعلق به برنامه را بازیابی میکند.
پارامترها
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(socketInfos: SocketInfo[]) => void
-
socketInfos
آرایه شیء حاوی اطلاعات سوکت.
-
بازگشتیها
-
Promise<SocketInfo[]>
Chrome نسخه ۱۲۱ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
): void
به گروه چندپخشی میپیوندد و شروع به دریافت بستهها از آن گروه میکند. سوکت باید قبلاز فراخوانی این روش به درگاه محلی متصل شود.
پارامترها
-
socketId
شماره
شناسه سوکت.
-
نشانی
رشته
نشانی گروه برای پیوستن. از نامهای دامنه پشتیبانی نمیشود.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
کد نتیجه از تماس شبکه زیربنایی برگردانده شد. مقدار منفی نشاندهنده خطا است.
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
گروه چندپخشی را که قبلاً بااستفاده از joinGroup به آن پیوسته بود ترک میکند. این کار فقط درصورتی لازم است که قصد داشته باشید بعداز آن به استفاده از سوکت ادامه دهید، زیرا وقتی سوکت بسته شود، این کار بهطور خودکار توسط سیستمعامل انجام خواهد شد.
با ترک گروه، روتر دیگر دیتاگرامهای چندپخشی را به میزبان محلی ارسال نخواهد کرد، با این فرض که هیچ فرایند دیگری در میزبان همچنان به گروه متصل نباشد.
پارامترها
-
socketId
شماره
شناسه سوکت.
-
نشانی
رشته
نشانی گروه برای ترک کردن. از نامهای دامنه پشتیبانی نمیشود.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
کد نتیجه از تماس شبکه زیربنایی برگردانده شد. مقدار منفی نشاندهنده خطا است.
-
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
دادههای سوکت ارائهشده را به نشانی و درگاه ارائهشده ارسال میکند. سوکت باید قبلاز فراخوانی این روش به درگاه محلی متصل شود.
پارامترها
-
socketId
شماره
شناسه سوکت.
-
داده
ArrayBuffer
دادههایی که باید ارسال شود.
-
نشانی
رشته
نشانی دستگاه ازراهدور.
-
درگاه
شماره
درگاه ماشین راهدور.
-
dnsQueryType
DnsQueryType اختیاری
Chrome نسخه ۱۰۳ و بالاتراولویت تفکیک آدرس.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(sendInfo: SendInfo) => void
-
sendInfo
نتیجه روش
send.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
): void
بستههای همهفرستی را در این سوکت فعال یا غیرفعال میکند.
پارامترها
-
socketId
شماره
شناسه سوکت.
-
فعال شد
بولی
trueبرای فعال کردن بستههای همهفرستی،falseبرای غیرفعال کردن آنها. -
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
کد نتیجه از تماس شبکه زیربنایی برگردانده شد.
-
setMulticastLoopbackMode()
chrome.sockets.udp.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
شماره
شناسه سوکت.
-
فعال شد
بولی
مشخص کنید که آیا حالت برگشت فعال شود یا نه.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
کد نتیجه از تماس شبکه زیربنایی برگردانده شد. مقدار منفی نشاندهنده خطا است.
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
زمان بقای بستههای چندفرستی ارسالشده به گروه چندفرستی را تنظیم میکند.
فراخوانی این روش به اجازههای چندپخشی نیاز ندارد.
پارامترها
-
socketId
شماره
شناسه سوکت.
-
ttl
شماره
مقدار طول عمر.
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(result: number) => void
-
نتیجه
شماره
کد نتیجه از تماس شبکه زیربنایی برگردانده شد. مقدار منفی نشاندهنده خطا است.
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
سوکت را موقتاً متوقف میکند یا از توقف موقت خارج میکند. سوکت موقتاً متوقفشده از راهاندازی رویدادهای onReceive مسدود شده است.
پارامترها
-
socketId
شماره
شناسه سوکت.
-
موقتاً متوقفشده
بولی
پرچم نشاندهنده اینکه آیا باید موقتاً متوقف شود یا از توقف موقت خارج شود.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۱۲۱ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
ویژگیهای سوکت را بهروز میکند.
پارامترها
-
socketId
شماره
شناسه سوکت.
-
اقامتگاهها
ویژگیهایی که باید بهروز شود.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۱۲۱ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
رویدادها
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
-
اطلاعات
-