chrome.sockets.udp

الوصف

استخدام واجهة برمجة التطبيقات chrome.sockets.udp لإرسال البيانات واستلامها عبر الشبكة باستخدام اتصالات UDP تحل واجهة برمجة التطبيقات هذه محل وظائف UDP التي تم العثور عليها سابقًا في "socket" واجهة برمجة التطبيقات.

البيان

يجب الإعلان عن المفاتيح التالية في البيان لاستخدام واجهة برمجة التطبيقات هذه.

"sockets"

الأنواع

CreateInfo

أماكن إقامة

  • socketId

    الرقم

    معرف المقبس الذي تم إنشاؤه حديثًا. تجدر الإشارة إلى أنّ أرقام تعريف المنافذ التي تم إنشاؤها من واجهة برمجة التطبيقات هذه لا تتوافق مع أرقام تعريف المنافذ التي تم إنشاؤها من واجهات برمجة تطبيقات أخرى، مثل واجهة برمجة التطبيقات [socket](../socket/) التي تم إيقافها نهائيًا.

DnsQueryType

الإصدار 103 من Chrome أو الإصدارات الأحدث

الإعدادات المفضّلة لحلول نظام أسماء النطاقات. القيمة التلقائية هي any وتستخدم إعدادات نظام التشغيل الحالية التي قد تعرض IPv4 أو IPv6. تفرض ipv4 الإصدار 4 من بروتوكول IP، وتفرض ipv6 الإصدار السادس من بروتوكول الإنترنت (IPv6).

Enum

"أيّ"

"ipv4"

"ipv6"

ReceiveErrorInfo

أماكن إقامة

  • resultCode

    الرقم

    رمز النتيجة الذي تم عرضه من استدعاء recvfrom() الأساسي.

  • socketId

    الرقم

    معرّف المقبس

ReceiveInfo

أماكن إقامة

  • البيانات

    مخزن المصفوفات

    محتوى حزمة UDP (مقتطَع إلى حجم المخزن المؤقت الحالي)

  • remoteAddress

    سلسلة

    عنوان المضيف الذي تأتي منه الحزمة.

  • remotePort

    الرقم

    منفذ المضيف الذي تأتي منه الحزمة.

  • socketId

    الرقم

    معرّف المقبس

SendInfo

أماكن إقامة

  • bytesSent

    الرقم اختياري

    عدد وحدات البايت المرسلة (إذا كانت النتيجة == 0)

  • resultCode

    الرقم

    رمز النتيجة الذي تم عرضه من استدعاء الشبكة الأساسي. تشير القيمة السالبة إلى وجود خطأ.

SocketInfo

أماكن إقامة

  • bufferSize

    الرقم اختياري

    حجم المخزن المؤقت المستخدم لتلقي البيانات. إذا لم يتم تحديد حجم للمخزن المؤقت بشكل صريح، لن يتم تقديم القيمة.

  • localAddress

    سلسلة اختيارية

    إذا كان المقبس الأساسي مرتبطًا، يحتوي على عنوان IPv4/6 المحلي الخاص به.

  • localPort

    الرقم اختياري

    إذا كان المقبس الأساسي مرتبطًا، يحتوي على منفذه المحلي.

  • الاسم

    سلسلة اختيارية

    سلسلة معرّف التطبيق المرتبطة بالمقبس

  • متوقفة مؤقتًا

    منطقي

    علامة تشير إلى ما إذا كان المقبس محظورًا من تنشيط أحداث onReceived (الاستلام)

  • مستمر

    منطقي

    علامة تشير إلى ترك المقبس مفتوحًا عند تعليق التطبيق (راجع SocketProperties.persistent).

  • socketId

    الرقم

    معرِّف المقبس

SocketProperties

أماكن إقامة

  • bufferSize

    الرقم اختياري

    حجم المخزن المؤقت المستخدم لتلقي البيانات. سيتم فقدان البيانات إذا كان المخزن المؤقت صغيرًا جدًا بحيث لا يمكن استلام حزمة UDP. القيمة التلقائية هي 4096.

  • الاسم

    سلسلة اختيارية

    سلسلة يحددها التطبيق ومرتبطة بالمقبس.

  • مستمر

    قيمة منطقية اختيارية

    علامة تشير إلى ترك المقبس مفتوحًا عند إلغاء تحميل صفحة حدث التطبيق (راجع إدارة دورة حياة التطبيق) والقيمة الافتراضية هي "false". عند تحميل التطبيق، يمكن استخدام getSockets لاسترجاع أي مقابس تم فتحها مسبقًا باستخدام persistent=true.

الطُرق

bind()

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

لربط العنوان المحلي والمنفذ للمقبس. بالنسبة إلى مقبس العميل، من المستحسن استخدام المنفذ 0 للسماح للنظام الأساسي باختيار منفذ مجاني.

بعد اكتمال عملية bind بنجاح، يتم رفع أحداث onReceive عند وصول حزم بروتوكول مخطط بيانات المستخدم (UDP) إلى العنوان/المنفذ المحدّد، ما لم يتم إيقاف المقبس مؤقتًا.

المعلمات

  • socketId

    الرقم

    معرّف المقبس

  • معالجة

    سلسلة

    عنوان الجهاز المحلي. تتوافق تنسيقات اسم نظام أسماء النطاقات وIPv4 وIPv6. استخدام "0.0.0.0" قبول الحزم من جميع واجهات الشبكات المحلية المتاحة.

  • المنفذ

    الرقم

    منفذ الجهاز المحلي. استخدام "0" الربط بمنفذ حر.

  • رد الاتصال

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (result: number) => void

    • نتيجة

      الرقم

      رمز النتيجة الذي تم عرضه من استدعاء الشبكة الأساسي. تشير القيمة السالبة إلى وجود خطأ.

close()

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

يُستخدم لإغلاق المقبس وتحرير العنوان/المنفذ الذي يرتبط به المقبس. يجب إغلاق كل مقبس تم إنشاؤه بعد الاستخدام. لم يعد معرّف المقبس صالحًا بمجرد استدعاء الدالة. ومع ذلك، يمكن ضمان إغلاق المقبس فقط عند استدعاء معاودة الاتصال.

المعلمات

  • socketId

    الرقم

    معرّف المقبس

  • رد الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • وعود <باطلة>

    الإصدار 121 من Chrome أو الإصدارات الأحدث

    لا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

create()

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

تنشئ مقبس UDP بالخصائص المحددة.

المعلمات

  • المواقع

    SocketProperties اختيارية

    خصائص المقبس (اختيارية).

  • رد الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (createInfo: CreateInfo) => void

    • createInfo

      هي نتيجة إنشاء المقبس.

المرتجعات

  • Promise&lt;CreateInfo&gt;

    الإصدار 121 من Chrome أو الإصدارات الأحدث

    لا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

getInfo()

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

يسترجع حالة المقبس المحدد.

المعلمات

  • socketId

    الرقم

    معرّف المقبس

  • رد الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (socketInfo: SocketInfo) => void

    • socketInfo

      كائن يحتوي على معلومات المقبس

المرتجعات

  • Promise&lt;SocketInfo&gt;

    الإصدار 121 من Chrome أو الإصدارات الأحدث

    لا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

getJoinedGroups()

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

الحصول على عناوين مجموعة البث المتعدد التي ينضم إليها المقبس حاليًا.

المعلمات

  • socketId

    الرقم

    معرّف المقبس

  • رد الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (groups: string[]) => void

    • مجموعات

      سلسلة[]

      مصفوفة من المجموعات التي انضم إليها المقبس.

المرتجعات

  • Promise&lt;string[]&gt;

    الإصدار 121 من Chrome أو الإصدارات الأحدث

    لا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

getSockets()

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

استرداد قائمة المقابس المفتوحة حاليًا التي يملكها التطبيق.

المعلمات

  • رد الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      مصفوفة كائن تحتوي على معلومات المقبس.

المرتجعات

  • Promise&lt;SocketInfo[]&gt;

    الإصدار 121 من Chrome أو الإصدارات الأحدث

    لا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

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

    الرقم

    معرّف المقبس

  • البيانات

    مخزن المصفوفات

    البيانات المراد إرسالها.

  • معالجة

    سلسلة

    عنوان الجهاز البعيد.

  • المنفذ

    الرقم

    منفذ الجهاز البعيد.

  • dnsQueryType

    DnsQueryType اختياري

    الإصدار 103 من Chrome أو الإصدارات الأحدث

    تفضيل دقة العنوان.

  • رد الاتصال

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (sendInfo: SendInfo) => void

    • sendInfo

      نتيجة طريقة send.

setBroadcast()

الإصدار 44 من Chrome أو الإصدارات الأحدث
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 قليلاً بين النظامين Windows وUnix. يحدث التناقض فقط عندما يكون هناك أكثر من تطبيق واحد على المضيف نفسه منضم إلى مجموعة البث المتعدد نفسها مع وجود إعدادات مختلفة في وضع الاسترجاع للبث المتعدد. في نظام التشغيل Windows، لن تتلقى التطبيقات التي تم إيقاف الاسترجاع بها حزم الاسترجاع؛ في الأنظمة الشبيهة بـ Unix، لن ترسل التطبيقات التي تم إيقاف الاسترجاع إليها حزم الاسترجاع إلى تطبيقات أخرى على نفس المضيف. يمكنك الاطّلاع على MSDN: http://goo.gl/6vqbj

لا يتطلب استدعاء هذه الطريقة أذونات البث المتعدد.

المعلمات

  • socketId

    الرقم

    معرّف المقبس

  • مفعّلة

    منطقي

    تحديد ما إذا كان سيتم تفعيل وضع الاسترجاع أم لا.

  • رد الاتصال

    دالة

    تظهر المَعلمة 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

المرتجعات

  • وعود <باطلة>

    الإصدار 121 من Chrome أو الإصدارات الأحدث

    لا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

update()

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

لتعديل خصائص المقبس

المعلمات

  • socketId

    الرقم

    معرّف المقبس

  • المواقع

    السمات المطلوب تعديلها.

  • رد الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • وعود <باطلة>

    الإصدار 121 من Chrome أو الإصدارات الأحدث

    لا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

فعاليات

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