chrome.socket

الوصف

استخدِم واجهة برمجة التطبيقات chrome.socket لإرسال البيانات وتلقّيها عبر الشبكة باستخدام اتصالات TCP وUDP. ملاحظة: بدءًا من الإصدار 33 من Chrome، تم إيقاف واجهة برمجة التطبيقات هذه نهائيًا لصالح واجهات برمجة التطبيقات sockets.udp وsockets.tcp وsockets.tcpServer.

الأذونات

socket

الأنواع

AcceptInfo

الخصائص

  • resultCode

    الرقم

  • socketId

    number اختيارية

    رقم تعريف المقبس المقبول

CreateInfo

الخصائص

  • socketId

    الرقم

    معرّف المقبس الذي تم إنشاؤه حديثًا

CreateOptions

NetworkInterface

الخصائص

  • معالجة

    سلسلة

    عنوان IPv4/6 المتاح

  • الاسم

    سلسلة

    الاسم الأساسي للمحوّل في نظام التشغيل *nix، سيكون هذا عادةً "eth0" أو "lo" أو ما شابه.

  • prefixLength

    الرقم

    طول البادئة

ReadInfo

الخصائص

  • البيانات

    ArrayBuffer

  • resultCode

    الرقم

    تم إرجاع resultCode من طلب read()‎ الأساسي.

RecvFromInfo

الخصائص

  • معالجة

    سلسلة

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

  • البيانات

    ArrayBuffer

  • المنفذ

    الرقم

  • resultCode

    الرقم

    تم عرض resultCode من طلب recvfrom()‎ الأساسي.

SecureOptions

الخصائص

SocketInfo

الخصائص

  • تم الربط

    قيمة منطقية

    ما إذا كان المقبس الأساسي متصلاً أم لا

    بالنسبة إلى مآخذ tcp، سيظل هذا صحيحًا حتى إذا تم قطع اتصال النظير البعيد. قد تؤدي القراءة أو الكتابة في المقبس إلى حدوث خطأ، ما يشير إلى أنّه يجب قطع اتصال هذا المقبس من خلال disconnect().

    بالنسبة إلى مقابس udp، يمثّل هذا فقط ما إذا تم تحديد عنوان بعيد تلقائي لقراءة الحِزم وكتابتها.

  • localAddress

    string اختياري

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

  • localPort

    number اختيارية

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

  • peerAddress

    string اختياري

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

  • peerPort

    number اختيارية

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

  • socketType

    نوع المقبس الذي تم تمريره ستكون هذه القيمة tcp أو udp.

SocketType

Enum

"tcp"

"udp"

TLSVersionConstraints

الخصائص

  • الحد الأقصى

    string اختياري

  • دقيقة

    string اختياري

    الحدّ الأدنى والحدّ الأقصى لإصدارات بروتوكول أمان طبقة النقل (TLS) المقبولة والقيمتان المسموح بإدراجهما هما tls1.2 أو tls1.3.

    لم تعُد القيمتان tls1 وtls1.1 متاحتَين. إذا تم ضبط min على إحدى هذه القيم، سيتم تقريبها تلقائيًا إلى tls1.2. إذا تم ضبط max على إحدى هذه القيم أو أي قيمة أخرى غير معروفة، سيتم تجاهلها بدون إشعار.

WriteInfo

الخصائص

  • bytesWritten

    الرقم

    عدد وحدات البايت المُرسَلة أو رمز خطأ سالب

الطُرق

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)
: void

تنطبق هذه الطريقة على مآخذ TCP فقط. يتم تسجيل دالّة رد اتصال ليتم استدعاؤها عند قبول اتصال على مقبس الخادم هذا الذي يستمع إلى الاتصالات الواردة. يجب استدعاء Listen أولاً. إذا كان هناك رد اتصال نشط للقبول، سيتم استدعاء رد الاتصال هذا على الفور مع ظهور خطأ كرمز resultCode.

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة socketId.

  • callback

    دالة

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

    (acceptInfo: AcceptInfo) => void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)
: void

يربط العنوان المحلي للمقبس. لا تتيح هذه الميزة حاليًا مقبس TCP.

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة معرّف المقبس.

  • معالجة

    سلسلة

    عنوان الجهاز المحلي

  • المنفذ

    الرقم

    منفذ الجهاز المحلي

  • callback

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)
: void

لربط المقبس بالجهاز البعيد (لمقبس tcp) بالنسبة إلى مقبس udp، يضبط هذا الإعداد العنوان التلقائي الذي يتم إرسال الحِزم إليه وقراءتها منه لطلبات read() وwrite().

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة معرّف المقبس.

  • اسم المضيف

    سلسلة

    اسم المضيف أو عنوان IP للجهاز البعيد

  • المنفذ

    الرقم

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

  • callback

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

create()

Promise
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)
: Promise<CreateInfo>

تنشئ هذه الدالة مقبسًا من النوع المحدّد يتصل بالجهاز البعيد المحدّد.

المعلمات

  • النوع

    نوع المقبس المطلوب إنشاؤه يجب أن تكون القيمة tcp أو udp.

  • الخيارات

    CreateOptions اختياري

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

  • callback

    function اختياري

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

    (createInfo: CreateInfo) => void

المرتجعات

  • Promise<CreateInfo>

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

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

destroy()

chrome.socket.destroy(
  socketId: number,
)
: void

يؤدي إلى تدمير المقبس. يجب تدمير كل مقبس تم إنشاؤه بعد الاستخدام.

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)
: void

لإلغاء ربط المقبس بالنسبة إلى مآخذ UDP، لا يؤدي disconnect أي عملية، ولكن يمكن استدعاؤه بأمان.

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة معرّف المقبس.

getInfo()

Promise
chrome.socket.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

تسترد هذه الدالة حالة المقبس المحدّد.

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة socketId.

  • callback

    function اختياري

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

    (result: SocketInfo) => void

المرتجعات

  • Promise<SocketInfo>

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

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

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)
: void

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

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة socketId.

  • callback

    دالة

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

    (groups: string[]) => void

    • مجموعات

      string[]

getNetworkList()

Promise
chrome.socket.getNetworkList(
  callback?: function,
)
: Promise<NetworkInterface[]>

تسترد معلومات حول المحوّلات المحلية على هذا النظام.

المعلمات

  • callback

    function اختياري

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

    (result: NetworkInterface[]) => void

المرتجعات

  • Promise<NetworkInterface[]>

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

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

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

الانضمام إلى مجموعة البث المتعدّد الوجهات وبدء تلقّي الحزم من تلك المجموعة يجب أن يكون المقبس من نوع UDP وأن يكون مرتبطًا بمنفذ محلي قبل استدعاء هذه الطريقة.

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة معرّف المقبس.

  • معالجة

    سلسلة

    عنوان المجموعة المطلوب الانضمام إليها أسماء النطاقات غير متاحة.

  • callback

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

مغادرة مجموعة البث المتعدّد الوجهات التي تم الانضمام إليها سابقًا باستخدام joinGroup ليس من الضروري مغادرة مجموعة البث المتعدّد الوجهات قبل تدمير المقبس أو الخروج. يتم استدعاء هذه الدالة تلقائيًا من خلال نظام التشغيل.

ستؤدي مغادرة المجموعة إلى منع جهاز التوجيه من إرسال مخططات بيانات البث المتعدّد الوجهات إلى المضيف المحلي، بافتراض عدم انضمام أي عملية أخرى على المضيف إلى المجموعة.

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة معرّف المقبس.

  • معالجة

    سلسلة

    عنوان المجموعة المطلوب مغادرتها أسماء النطاقات غير متاحة.

  • callback

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

listen()

chrome.socket.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)
: void

تنطبق هذه الطريقة على مآخذ TCP فقط. يستمع إلى الاتصالات على المنفذ والعنوان المحددين. ويؤدي ذلك إلى جعل هذا المقبس مقبس خادم، ولا يمكن استخدام وظائف مقبس الجهاز (الاتصال والقراءة والكتابة) على هذا المقبس بعد ذلك.

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة معرّف المقبس.

  • معالجة

    سلسلة

    عنوان الجهاز المحلي

  • المنفذ

    الرقم

    منفذ الجهاز المحلي

  • قائمة المهام

    number اختيارية

    طول قائمة انتظار الاستماع للمقبس

  • callback

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

يقرأ البيانات من المقبس المتصل المحدّد.

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة معرّف المقبس.

  • bufferSize

    number اختيارية

    حجم المخزن المؤقت للقراءة

  • callback

    دالة

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

    (readInfo: ReadInfo) => void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

تلقّي البيانات من مقبس UDP المحدّد

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة معرّف المقبس.

  • bufferSize

    number اختيارية

    حجم ذاكرة التخزين المؤقت للاستلام

  • callback

    دالة

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

    (recvFromInfo: RecvFromInfo) => void

secure()

chrome.socket.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)
: void

بدء اتصال عميل بروتوكول أمان طبقة النقل (TLS) عبر مقبس جهاز متصل لبروتوكول التحكّم بالنقل (TCP)

المعلمات

  • socketId

    الرقم

    المقبس المتصل المطلوب استخدامه

  • الخيارات

    SecureOptions اختياري

    القيود والمعلَمات الخاصة باتصال بروتوكول أمان طبقة النقل (TLS)

  • callback

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)
: void

يتم إرسال البيانات على مقبس UDP المحدّد إلى العنوان والمنفذ المحدّدَين.

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة معرّف المقبس.

  • البيانات

    ArrayBuffer

    البيانات المطلوب كتابتها

  • معالجة

    سلسلة

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

  • المنفذ

    الرقم

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

  • callback

    دالة

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

    (writeInfo: WriteInfo) => void

setKeepAlive()

chrome.socket.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)
: void

تتيح هذه السياسة تفعيل وظيفة الإبقاء على الاتصال أو إيقافها لاتصال TCP.

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة معرّف المقبس.

  • تفعيل

    قيمة منطقية

    في حال ضبطها على "صحيح"، يتم تفعيل وظيفة "إبقاء الاتصال نشطًا".

  • تأخير

    number اختيارية

    يمكنك ضبط ثواني التأخير بين آخر حزمة بيانات تم استلامها وأول فحص للحفاظ على الاتصال. القيمة التلقائية هي 0.

  • callback

    دالة

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

    (result: boolean) => void

    • نتيجة

      قيمة منطقية

setMulticastLoopbackMode()

chrome.socket.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

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)
: void

تتيح هذه السياسة ضبط مدة صلاحية حزم البث المتعدّد الوجهات التي يتم إرسالها إلى مجموعة البث المتعدّد الوجهات.

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

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة معرّف المقبس.

  • ttl

    الرقم

    قيمة مدة الصلاحية

  • callback

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

setNoDelay()

chrome.socket.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)
: void

لضبط TCP_NODELAY أو محوه لاتصال TCP. سيتم إيقاف خوارزمية Nagle عند ضبط السياسة TCP_NODELAY.

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة معرّف المقبس.

  • noDelay

    قيمة منطقية

    إذا كانت القيمة "صحيح"، يتم إيقاف خوارزمية Nagle.

  • callback

    دالة

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

    (result: boolean) => void

    • نتيجة

      قيمة منطقية

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)
: void

يكتب البيانات على المقبس المتصل المحدّد.

المعلمات

  • socketId

    الرقم

    تمثّل هذه السمة معرّف المقبس.

  • البيانات

    ArrayBuffer

    البيانات المطلوب كتابتها

  • callback

    دالة

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

    (writeInfo: WriteInfo) => void