chrome.socket

الوصف

يمكنك استخدام واجهة برمجة التطبيقات chrome.socket لإرسال البيانات واستلامها من خلال الشبكة باستخدام اتصالات بروتوكول TCP وUDP. ملاحظة: بدءًا من Chrome 33، تم إيقاف واجهة برمجة التطبيقات هذه نهائيًا ليحلّ محلّها واجهات برمجة التطبيقات 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

أماكن إقامة

  • تم الربط

    boolean

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

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

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

  • localAddress

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

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

  • localPort

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

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

  • peerAddress

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

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

  • peerPort

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

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

  • socketType

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

SocketType

التعداد

"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 فقط. تسجيل دالة معاودة الاتصال ليتم طلبها عند قبول الاتصال على مقبس خادم الاستماع هذا. يجب طلب الاستماع أولاً. إذا كان هناك ردّ استدعاء نشط حاليًا، سيتم استدعاء هذا الإجراء على الفور مع عرض خطأ مثل رمز النتيجة.

المَعلمات

  • socketId

    الرقم

    يحدد المقبس

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

    (acceptInfo: AcceptInfo)=>void

bind()

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

تربط العنوان المحلي للمأخذ. حاليًا، لا يدعم مقبس بروتوكول التحكم بالنقل.

المَعلمات

  • socketId

    الرقم

    يحدد المقبس

  • معالجة

    سلسلة

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

  • المنفذ

    الرقم

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

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

    (result: number)=>void

    • نتيجة

      الرقم

connect()

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

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

المَعلمات

  • socketId

    الرقم

    يحدد المقبس

  • hostname

    سلسلة

    اسم المضيف أو عنوان 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 والإصدارات الأحدث

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

destroy()

chrome.socket.destroy(
  socketId: number,
)

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

المَعلمات

  • socketId

    الرقم

    يحدد المقبس

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

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

المَعلمات

  • socketId

    الرقم

    يحدد المقبس

getInfo()

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

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

المَعلمات

  • socketId

    الرقم

    يحدد المقبس

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (result: SocketInfo)=>void

المرتجعات

  • Promise<SocketInfo>

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

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

getJoinedGroups()

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

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

المَعلمات

  • socketId

    الرقم

    يحدد المقبس

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

    (groups: string[])=>void

    • مجموعات

      سلسلة[]

getNetworkList()

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

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

المَعلمات

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (result: NetworkInterface[])=>void

المرتجعات

  • Promise<NetworkInterface[]>

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

    لا تتوفّر الوعود إلا في الإصدار 3 من 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

    الرقم

    يحدد المقبس

  • enable

    boolean

    في حال الضبط على "صحيح"، فعِّل وظيفة البقاء على قيد الحياة.

  • delay

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

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

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

    (result: boolean)=>void

    • نتيجة

      boolean

setMulticastLoopbackMode()

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

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

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

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

المَعلمات

  • socketId

    الرقم

    يحدد المقبس

  • مفعّلة

    boolean

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

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة 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

    boolean

    إذا كانت القيمة true، سيتم إيقاف خوارزمية Nagle.

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

    (result: boolean)=>void

    • نتيجة

      boolean

write()

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

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

المَعلمات

  • socketId

    الرقم

    يحدد المقبس

  • البيانات

    ArrayBuffer

    البيانات المراد كتابتها.

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

    (writeInfo: WriteInfo)=>void