الوصف
استخدِم واجهة برمجة التطبيقات 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
أماكن إقامة
-
tlsVersion
TLSVersionConstraints اختياري
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
-
acceptInfo
-
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
-
createInfo
-
المرتجعات
-
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
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
تتلقّى البيانات من مقبس UDP المحدَّد.
المعلمات
-
socketId
الرقم
رقم تعريف المقبس
-
bufferSize
رقم اختياري
حجم ذاكرة التخزين المؤقت لتلقّي البيانات
-
ردّ الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
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
-
writeInfo
-
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,
)
تُستخدَم لكتابة البيانات في مقبس متصل معيّن.