chrome.sockets.tcpServer

الوصف

استخدِم واجهة برمجة التطبيقات chrome.sockets.tcpServer لإنشاء تطبيقات خادم تستخدم اتصالات TCP. تحلّ واجهة برمجة التطبيقات هذه محلّ وظيفة TCP التي كانت متوفّرة سابقًا في واجهة برمجة التطبيقات chrome.socket.

البيان

يجب الإفصاح عن المفاتيح التالية في ملف البيان لاستخدام واجهة برمجة التطبيقات هذه.

"sockets"

الأنواع

AcceptErrorInfo

الخصائص

  • resultCode

    الرقم

    رمز النتيجة الذي تم إرجاعه من طلب الشبكة الأساسي.

  • socketId

    الرقم

    معرّف مقبس الخادم

AcceptInfo

الخصائص

  • clientSocketId

    الرقم

    معرّف مقبس العميل، أي معرّف مقبس الاتصال الذي تم إنشاؤه حديثًا يجب استخدام معرّف المقبس هذا فقط مع الدوال من مساحة الاسم chrome.sockets.tcp. يُرجى العِلم أنّه يتم إيقاف مؤقت لمقبس العميل في البداية، ويجب أن يزيل التطبيق الإيقاف المؤقت بشكل صريح لبدء تلقّي البيانات.

  • socketId

    الرقم

    معرّف مقبس الخادم

CreateInfo

الخصائص

  • socketId

    الرقم

    معرّف مقبس الخادم الذي تم إنشاؤه حديثًا. يُرجى العلم أنّ معرّفات المقابس التي يتم إنشاؤها من واجهة برمجة التطبيقات هذه غير متوافقة مع معرّفات المقابس التي يتم إنشاؤها من واجهات برمجة تطبيقات أخرى، مثل واجهة برمجة التطبيقات [socket](../socket/) المتوقّفة نهائيًا.

SocketInfo

الخصائص

  • localAddress

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

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

  • localPort

    number اختياري

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

  • الاسم

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

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

  • متوقفة مؤقتًا

    قيمة منطقية

    علامة تشير إلى ما إذا كان يتم إرسال طلبات الاتصال على مقبس الاستماع من خلال الحدث onAccept أو وضعها في قائمة انتظار الاستماع. يمكنك الاطّلاع على setPaused. القيمة التلقائية هي "false".

  • مستمر

    قيمة منطقية

    علامة تشير إلى ما إذا كان المقبس يظل مفتوحًا عند إلغاء تحميل صفحة حدث التطبيق (راجِع SocketProperties.persistent). القيمة التلقائية هي "false".

  • socketId

    الرقم

    معرّف المقبس

SocketProperties

الخصائص

  • الاسم

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

    سلسلة يحدّدها التطبيق ومرتبطة بالمقبس

  • مستمر

    boolean اختياري

    علامة تشير إلى ما إذا كان المقبس يظل مفتوحًا عند إلغاء تحميل صفحة حدث التطبيق (راجِع إدارة دورة حياة التطبيق). القيمة التلقائية هي "false". عند تحميل التطبيق، يمكن جلب أي مقابس تم فتحها سابقًا باستخدام persistent=true باستخدام getSockets.

الطُرق

close()

وعد
chrome.sockets.tcpServer.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • socketId

    الرقم

    معرّف المقبس

  • callback

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

create()

وعد
chrome.sockets.tcpServer.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

تنشئ هذه الدالة مقبس خادم TCP.

المعلمات

  • أماكن الإقامة

    SocketProperties اختيارية

    خصائص المقبس (اختيارية)

  • callback

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

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

    (createInfo: CreateInfo) => void

    • createInfo

      نتيجة إنشاء المقبس

المرتجعات

  • Promise<CreateInfo>

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

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

disconnect()

وعد
chrome.sockets.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

يقطع الاتصال بمقبس الاستماع، أي يتوقف عن قبول الاتصالات الجديدة ويحرر العنوان/المنفذ المرتبط بهما. يظلّ معرّف المقبس صالحًا، مثلاً يمكن استخدامه مع listen لقبول الاتصالات على منفذ وعنوان جديدَين.

المعلمات

  • socketId

    الرقم

    معرّف المقبس

  • callback

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

getInfo()

وعد
chrome.sockets.tcpServer.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

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

المعلمات

  • socketId

    الرقم

    معرّف المقبس

  • callback

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

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

    (socketInfo: SocketInfo) => void

    • socketInfo

      عنصر يحتوي على معلومات المقبس.

المرتجعات

  • Promise<SocketInfo>

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

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

getSockets()

وعد
chrome.sockets.tcpServer.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

يستردّ قائمة المقابس المفتوحة حاليًا والتي يملكها التطبيق.

المعلمات

  • callback

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

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      مصفوفة من العناصر التي تحتوي على معلومات المقبس

المرتجعات

  • Promise<SocketInfo[]>

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

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

listen()

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

يستمع إلى عمليات الربط على المنفذ والعنوان المحدّدين. إذا كان المنفذ/العنوان قيد الاستخدام، يشير رد الاتصال إلى حدوث خطأ.

المعلمات

  • socketId

    الرقم

    معرّف المقبس

  • معالجة

    سلسلة

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

  • المنفذ

    الرقم

    منفذ الجهاز المحلي عند ضبطها على 0، يتم اختيار منفذ مجاني بشكلٍ ديناميكي. يمكن العثور على المنفذ المخصّص ديناميكيًا من خلال طلب getInfo.

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

    number اختياري

    طول قائمة انتظار الاستماع الخاصة بالمقبس تعتمد القيمة التلقائية على نظام التشغيل (SOMAXCONN)، ما يضمن طول قائمة انتظار معقولاً لمعظم التطبيقات.

  • callback

    دالة

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

    (result: number) => void

    • نتيجة

      الرقم

      رمز النتيجة الذي تم إرجاعه من طلب الشبكة الأساسي. تشير القيمة السالبة إلى حدوث خطأ.

setPaused()

وعد
chrome.sockets.tcpServer.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

تتيح هذه السمة أو تحظر على مقبس الاستماع قبول اتصالات جديدة. عند الإيقاف المؤقت، يقبل مقبس الاستماع اتصالات جديدة إلى أن يمتلئ المخزن المؤقت (راجِع الدالة listen)، ثم يرفض طلبات الاتصال الإضافية. لا يتم إنشاء أحداث onAccept إلا عندما يكون المقبس غير متوقف مؤقتًا.

المعلمات

  • socketId

    الرقم

  • متوقفة مؤقتًا

    قيمة منطقية

  • callback

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

update()

وعد
chrome.sockets.tcpServer.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

تعديل خصائص المقبس

المعلمات

  • socketId

    الرقم

    معرّف المقبس

  • أماكن الإقامة

    السمات المطلوب تعديلها

  • callback

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

الفعاليات

onAccept

chrome.sockets.tcpServer.onAccept.addListener(
  callback: function,
)

يتم إنشاء هذا الحدث عند إنشاء اتصال بمقبس الخادم.

المعلمات

  • callback

    دالة

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

    (info: AcceptInfo) => void

onAcceptError

chrome.sockets.tcpServer.onAcceptError.addListener(
  callback: function,
)

حدث يتم إطلاقه عند حدوث خطأ في الشبكة أثناء انتظار وقت التشغيل لاتصالات جديدة على عنوان المقبس والمنفذ. بعد إطلاق هذا الحدث، يتم ضبط المقبس على paused ولن يتم إطلاق المزيد من أحداث onAccept لهذا المقبس إلى أن تتم استعادة المقبس.

المعلمات

  • callback

    دالة

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

    (info: AcceptErrorInfo) => void