الوصف
استخدِم واجهة برمجة التطبيقات chrome.socket لإرسال البيانات وتلقّيها عبر الشبكة باستخدام اتصالات TCP وUDP. ملاحظة: بدءًا من الإصدار 33 من Chrome، تم إيقاف واجهة برمجة التطبيقات هذه نهائيًا لصالح واجهات برمجة التطبيقات sockets.udp وsockets.tcp وsockets.tcpServer.
الأذونات
socketالأنواع
AcceptInfo
الخصائص
-
resultCode
الرقم
-
socketId
number اختيارية
رقم تعريف المقبس المقبول
CreateInfo
الخصائص
-
socketId
الرقم
معرّف المقبس الذي تم إنشاؤه حديثًا
CreateOptions
NetworkInterface
الخصائص
-
معالجة
سلسلة
عنوان IPv4/6 المتاح
-
الاسم
سلسلة
الاسم الأساسي للمحوّل في نظام التشغيل *nix، سيكون هذا عادةً "eth0" أو "lo" أو ما شابه.
-
prefixLength
الرقم
طول البادئة
ReadInfo
الخصائص
-
البيانات
ArrayBuffer
-
resultCode
الرقم
تم إرجاع resultCode من طلب read() الأساسي.
RecvFromInfo
الخصائص
-
معالجة
سلسلة
عنوان الجهاز البعيد
-
البيانات
ArrayBuffer
-
المنفذ
الرقم
-
resultCode
الرقم
تم عرض resultCode من طلب recvfrom() الأساسي.
SecureOptions
الخصائص
-
tlsVersion
TLSVersionConstraints اختياري
SocketInfo
الخصائص
-
تم الربط
قيمة منطقية
ما إذا كان المقبس الأساسي متصلاً أم لا
بالنسبة إلى مآخذ
tcp، سيظل هذا صحيحًا حتى إذا تم قطع اتصال النظير البعيد. قد تؤدي القراءة أو الكتابة في المقبس إلى حدوث خطأ، ما يشير إلى أنّه يجب قطع اتصال هذا المقبس من خلالdisconnect().بالنسبة إلى مقابس
udp، يمثّل هذا فقط ما إذا تم تحديد عنوان بعيد تلقائي لقراءة الحِزم وكتابتها. -
localAddress
string اختياري
إذا كان المقبس الأساسي مرتبطًا أو متصلاً، يحتوي على عنوان IPv4/6 المحلي.
-
localPort
number اختيارية
إذا كان المقبس الأساسي مرتبطًا أو متصلاً، يحتوي على المنفذ المحلي.
-
peerAddress
string اختياري
إذا كان المقبس الأساسي متصلاً، يحتوي على عنوان IPv4/6 للنظير.
-
peerPort
number اختيارية
إذا كان المقبس الأساسي متصلاً، يحتوي على منفذ النظير المتصل.
-
socketType
نوع المقبس الذي تم تمريره ستكون هذه القيمة
tcpأوudp.
SocketType
Enum
"tcp"
"udp"
TLSVersionConstraints
الخصائص
-
الحد الأقصى
string اختياري
-
دقيقة
string اختياري
الحدّ الأدنى والحدّ الأقصى لإصدارات بروتوكول أمان طبقة النقل (TLS) المقبولة والقيمتان المسموح بإدراجهما هما
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
الرقم
تمثّل هذه السمة 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
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(createInfo: CreateInfo) => void
-
createInfo
-
المرتجعات
-
Promise<CreateInfo>
الإصدار 121 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
destroy()
chrome.socket.destroy(
socketId: number,
): void
يؤدي إلى تدمير المقبس. يجب تدمير كل مقبس تم إنشاؤه بعد الاستخدام.
المعلمات
-
socketId
الرقم
تمثّل هذه السمة socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
لإلغاء ربط المقبس بالنسبة إلى مآخذ UDP، لا يؤدي disconnect أي عملية، ولكن يمكن استدعاؤه بأمان.
المعلمات
-
socketId
الرقم
تمثّل هذه السمة معرّف المقبس.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
تسترد هذه الدالة حالة المقبس المحدّد.
المعلمات
-
socketId
الرقم
تمثّل هذه السمة socketId.
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(result: SocketInfo) => void
-
نتيجة
-
المرتجعات
-
Promise<SocketInfo>
الإصدار 121 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
): void
الحصول على عناوين مجموعة البث المتعدّد الوجهات التي ينضم إليها المقبس حاليًا
المعلمات
-
socketId
الرقم
تمثّل هذه السمة socketId.
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(groups: string[]) => void
-
مجموعات
string[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
تسترد معلومات حول المحوّلات المحلية على هذا النظام.
المعلمات
-
callback
function اختياري
تظهر المَعلمة
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
الرقم
تمثّل هذه السمة معرّف المقبس.
-
معالجة
سلسلة
عنوان الجهاز المحلي
-
المنفذ
الرقم
منفذ الجهاز المحلي
-
قائمة المهام
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
الرقم
تمثّل هذه السمة معرّف المقبس.
-
تفعيل
قيمة منطقية
في حال ضبطها على "صحيح"، يتم تفعيل وظيفة "إبقاء الاتصال نشطًا".
-
تأخير
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
يكتب البيانات على المقبس المتصل المحدّد.