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