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 المتاح

  • الاسم

    سلسلة

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

  • prefixLength

    الرقم

    طول البادئة

ReadInfo

الخصائص

  • البيانات

    ArrayBuffer

  • resultCode

    الرقم

    تمثّل هذه السمة رمز النتيجة الذي تم عرضه من خلال طلب read() الأساسي.

RecvFromInfo

الخصائص

  • معالجة

    سلسلة

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

  • البيانات

    ArrayBuffer

  • المنفذ

    الرقم

  • resultCode

    الرقم

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

SecureOptions

الخصائص

SocketInfo

الخصائص

  • متصل

    قيمة منطقية

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

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

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

  • localAddress

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

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

  • localPort

    number اختياري

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

  • peerAddress

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

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

  • peerPort

    number اختياري

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

  • socketType

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

SocketType

Enum

"tcp"

"udp"

TLSVersionConstraints

الخصائص

  • الحد الأقصى

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

  • دقيقة

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

    الحدّ الأدنى والأقصى لإصدارات بروتوكول أمان طبقة النقل المقبولة والقيمتان المسموح بإدراجهما هما 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

    الرقم

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

  • 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()

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

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

المعلمات

  • النوع

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

  • الخيارات

    CreateOptions اختياري

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

  • callback

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

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

    (createInfo: CreateInfo) => void

المرتجعات

  • Promise<CreateInfo>

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

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

destroy()

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

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

المعلمات

  • socketId

    الرقم

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

disconnect()

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

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

المعلمات

  • socketId

    الرقم

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

getInfo()

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

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

المعلمات

  • socketId

    الرقم

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

  • callback

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

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

    (result: SocketInfo) => void

المرتجعات

  • Promise<SocketInfo>

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

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

getJoinedGroups()

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

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

المعلمات

  • socketId

    الرقم

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

  • callback

    دالة

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

    (groups: string[]) => void

    • مجموعات

      string[]

getNetworkList()

الوعد
chrome.socket.getNetworkList(
  callback?: function,
)
: Promise<NetworkInterface[]>

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

المعلمات

  • callback

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

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

    الرقم

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

  • معالجة

    سلسلة

    تمثّل هذه السمة عنوان الجهاز المحلي.

  • المنفذ

    الرقم

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

  • backlog

    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

    الرقم

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

  • تفعيل

    قيمة منطقية

    إذا كانت القيمة صحيحة، يتم تفعيل وظيفة keep-alive.

  • تأخير

    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