chrome.socket

الوصف

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

الأذونات

socket

الأنواع

AcceptInfo

أماكن إقامة

  • resultCode

    الرقم

  • socketId

    رقم اختياري

    معرّف المقبس المقبول.

CreateInfo

أماكن إقامة

  • socketId

    الرقم

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

CreateOptions

NetworkInterface

أماكن إقامة

  • معالجة

    سلسلة

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

  • الاسم

    سلسلة

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

  • prefixLength

    الرقم

    طول البادئة

ReadInfo

أماكن إقامة

  • البيانات

    ArrayBuffer

  • resultCode

    الرقم

    رمز النتيجة الذي تم إرجاعه من طلب read() الأساسي

RecvFromInfo

أماكن إقامة

  • معالجة

    سلسلة

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

  • البيانات

    ArrayBuffer

  • المنفذ

    الرقم

  • resultCode

    الرقم

    رمز النتيجة الذي تم إرجاعه من طلب recvfrom() الأساسي

SecureOptions

أماكن إقامة

SocketInfo

أماكن إقامة

  • تم الربط

    قيمة منطقية

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

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

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

  • localAddress

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

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

  • localPort

    رقم اختياري

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

  • peerAddress

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

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

  • peerPort

    رقم اختياري

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

  • socketType

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

SocketType

Enum

"tcp"

"udp"

TLSVersionConstraints

أماكن إقامة

  • الحد الأقصى

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

  • دقيقة

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

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

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

WriteInfo

أماكن إقامة

  • bytesWritten

    الرقم

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

الطُرق

accept()

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

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

المعلمات

  • socketId

    الرقم

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

  • ردّ الاتصال

    دالة

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

    (acceptInfo: AcceptInfo) => void

bind()

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

ربط العنوان المحلي للمقبس لا يتيح حاليًا استخدام مقبس TCP.

المعلمات

  • socketId

    الرقم

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

  • معالجة

    سلسلة

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

  • المنفذ

    الرقم

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

  • ردّ الاتصال

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

connect()

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

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

المعلمات

  • socketId

    الرقم

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

  • اسم المضيف

    سلسلة

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

  • المنفذ

    الرقم

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

  • ردّ الاتصال

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

create()

الوعد
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)

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

المعلمات

  • كتابة

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

  • الخيارات

    CreateOptions اختياري

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

  • ردّ الاتصال

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

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

    (createInfo: CreateInfo) => void

المرتجعات

  • Promise<CreateInfo>

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

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

destroy()

chrome.socket.destroy(
  socketId: number,
)

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

المعلمات

  • socketId

    الرقم

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

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

يقطع الاتصال بالمقبس. بالنسبة إلى مقابس UDP، disconnect هي عملية غير فعّالة، ولكن يمكن الاتصال بها بأمان.

المعلمات

  • socketId

    الرقم

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

getInfo()

الوعد
chrome.socket.getInfo(
  socketId: number,
  callback?: function,
)

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

المعلمات

  • socketId

    الرقم

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

  • ردّ الاتصال

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

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

    (result: SocketInfo) => void

المرتجعات

  • Promise<SocketInfo>

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

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

getJoinedGroups()

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

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

المعلمات

  • socketId

    الرقم

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

  • ردّ الاتصال

    دالة

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

    (groups: string[]) => void

    • مجموعات

      string[]

getNetworkList()

الوعد
chrome.socket.getNetworkList(
  callback?: function,
)

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

المعلمات

  • ردّ الاتصال

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

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

    (result: NetworkInterface[]) => void

المرتجعات

  • Promise<NetworkInterface[]>

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

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

joinGroup()

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

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

المعلمات

  • socketId

    الرقم

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

  • معالجة

    سلسلة

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

  • ردّ الاتصال

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

leaveGroup()

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

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

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

المعلمات

  • socketId

    الرقم

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

  • معالجة

    سلسلة

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

  • ردّ الاتصال

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

listen()

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

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

المعلمات

  • socketId

    الرقم

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

  • معالجة

    سلسلة

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

  • المنفذ

    الرقم

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

  • قائمة المهام غير المكتملة

    رقم اختياري

    طول قائمة الانتظار الخاصة بوضع الاستماع في المقبس

  • ردّ الاتصال

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

read()

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

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

المعلمات

  • socketId

    الرقم

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

  • bufferSize

    رقم اختياري

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

  • ردّ الاتصال

    دالة

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

    (readInfo: ReadInfo) => void

recvFrom()

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

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

المعلمات

  • socketId

    الرقم

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

  • bufferSize

    رقم اختياري

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

  • ردّ الاتصال

    دالة

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

    (recvFromInfo: RecvFromInfo) => void

secure()

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

ابدأ اتصال عميل TLS عبر مقبس عميل TCP متصل.

المعلمات

  • socketId

    الرقم

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

  • الخيارات

    SecureOptions اختيارية

    القيود والمَعلمات الخاصة باتصال TLS

  • ردّ الاتصال

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

sendTo()

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

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

المعلمات

  • socketId

    الرقم

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

  • البيانات

    ArrayBuffer

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

  • معالجة

    سلسلة

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

  • المنفذ

    الرقم

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

  • ردّ الاتصال

    دالة

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

    (writeInfo: WriteInfo) => void

setKeepAlive()

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

تفعيل وظيفة "إبقاء الاتصال مفتوحًا" لاتصال TCP أو إيقافها

المعلمات

  • socketId

    الرقم

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

  • تفعيل

    قيمة منطقية

    في حال كان صحيحًا، فعِّل وظيفة "إبقاء الاتصال مفتوحًا".

  • تأخير

    رقم اختياري

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

  • ردّ الاتصال

    دالة

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

    (result: boolean) => void

    • نتيجة

      قيمة منطقية

setMulticastLoopbackMode()

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

يمكنك ضبط ما إذا كان سيتم تكرار حزم البث المتعدد المُرسَلة من المضيف إلى مجموعة البث المتعدد مرة أخرى إلى المضيف.

ملاحظة: يختلف سلوك setMulticastLoopbackMode قليلاً بين نظامَي التشغيل Windows وأنظمة التشغيل المشابهة لنظام التشغيل Unix. ولا يحدث هذا التناقض إلا عندما يكون هناك أكثر من تطبيق واحد على المضيف نفسه ينضم إلى مجموعة البث المتعدد نفسها مع ضبط إعدادات مختلفة في وضع إعادة توجيه البث المتعدد. في نظام التشغيل Windows، لن تتلقّى التطبيقات التي تم إيقاف ميزة "الحلقة المغلقة" فيها حزم "الحلقة المغلقة"، بينما في الأنظمة المشابهة لنظام التشغيل Unix، لن ترسل التطبيقات التي تم إيقاف ميزة "الحلقة المغلقة" فيها حزم "الحلقة المغلقة" إلى التطبيقات الأخرى على المضيف نفسه. راجِع MSDN: http://goo.gl/6vqbj.

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

المعلمات

  • socketId

    الرقم

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

  • مفعّلة

    قيمة منطقية

    حدِّد ما إذا كنت تريد تفعيل وضع "النقل المتكرّر".

  • ردّ الاتصال

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

setMulticastTimeToLive()

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

اضبط وقت انتهاء صلاحية حزم البث المتعدد المُرسَلة إلى مجموعة البث المتعدد.

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

المعلمات

  • socketId

    الرقم

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

  • ttl

    الرقم

    قيمة مدة البقاء

  • ردّ الاتصال

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

setNoDelay()

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

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

المعلمات

  • socketId

    الرقم

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

  • noDelay

    قيمة منطقية

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

  • ردّ الاتصال

    دالة

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

    (result: boolean) => void

    • نتيجة

      قيمة منطقية

write()

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

تُستخدَم لكتابة البيانات في مقبس متصل معيّن.

المعلمات

  • socketId

    الرقم

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

  • البيانات

    ArrayBuffer

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

  • ردّ الاتصال

    دالة

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

    (writeInfo: WriteInfo) => void