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

أماكن إقامة

  • البيانات

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

  • resultCode

    الرقم

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

RecvFromInfo

أماكن إقامة

  • معالجة

    سلسلة

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

  • البيانات

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

  • المنفذ

    الرقم

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

المعلمات

  • 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

    الرقم

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

  • اسم المضيف

    سلسلة

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

  • المنفذ

    الرقم

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

  • رد الاتصال

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

create()

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

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

المعلمات

  • كتابة

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

  • الخيارات

    CreateOptions اختيارية

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

  • رد الاتصال

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

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

    (createInfo: CreateInfo) => void

المرتجعات

  • Promise<CreateInfo>

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

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

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

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

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

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

    الرقم

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

  • البيانات

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

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

  • معالجة

    سلسلة

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

  • المنفذ

    الرقم

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

  • رد الاتصال

    دالة

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

    منطقي

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

  • رد الاتصال

    دالة

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

    (result: boolean) => void

    • نتيجة

      منطقي

write()

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

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

المعلمات

  • socketId

    الرقم

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

  • البيانات

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

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

  • رد الاتصال

    دالة

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

    (writeInfo: WriteInfo) => void