الوصف
يمكنك استخدام واجهة برمجة التطبيقات 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
أماكن إقامة
-
البيانات
ArrayBuffer
-
resultCode
الرقم
رمز النتيجة الذي تم عرضه من استدعاء read() الأساسي.
RecvFromInfo
أماكن إقامة
-
معالجة
سلسلة
عنوان الجهاز البعيد.
-
البيانات
ArrayBuffer
-
المنفذ
الرقم
-
resultCode
الرقم
رمز النتيجة الذي تم عرضه من استدعاء recvfrom() الأساسي.
SecureOptions
أماكن إقامة
-
tlsVersion
TLSVersionConstraints اختيارية
SocketInfo
أماكن إقامة
-
تم الربط
boolean
ما إذا كان المقبس الأساسي متصلاً أم لا.
بالنسبة إلى مقابس
tcp
، سيظل هذا الإعداد صحيحًا حتى إذا انقطع اتصال النظير البعيد. قد تؤدي القراءة أو الكتابة في المقبس إلى حدوث خطأ، ما يشير إلى أنّه يجب فصل هذا المقبس عبرdisconnect()
.بالنسبة إلى مقابس
udp
، يمثّل هذا الحقل ما إذا كان قد تم تحديد عنوان تلقائي بعيد عن حِزم البيانات وكتابتها. -
localAddress
سلسلة اختيارية
إذا كان المقبس الأساسي مرتبطًا أو متصلاً به، يحتوي على عنوان IPv4/6 المحلي.
-
localPort
الرقم اختياري
إذا كان المقبس الأساسي مرتبطًا أو متصلاً به، يحتوي على منفذه المحلي.
-
peerAddress
سلسلة اختيارية
إذا كان المقبس الأساسي متصلاً، يحتوي على عنوان IPv4/6 للنظير.
-
peerPort
الرقم اختياري
في حال توصيل المقبس الأساسي، يحتوي على منفذ النظير المتصل.
-
socketType
نوع المقبس الذي تم تمريره سيكون هذا الحدث
tcp
أوudp
.
SocketType
التعداد
"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
-
acceptInfo
-
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
الرقم
يحدد المقبس
-
hostname
سلسلة
اسم المضيف أو عنوان 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 والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار 3 من Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
destroy()
chrome.socket.destroy(
socketId: number,
)
تدمير المقبس يجب إتلاف كل مقبس تم إنشاؤه بعد الاستخدام.
المَعلمات
-
socketId
الرقم
يحدد المقبس
disconnect()
chrome.socket.disconnect(
socketId: number,
)
يتم فصل المقبس بالنسبة إلى مآخذ بروتوكول مخطط بيانات المستخدم، يُعد disconnect
عملية غير مستندة إلى التشغيل ولكن يمكن الاتصال بها بأمان.
المَعلمات
-
socketId
الرقم
يحدد المقبس
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
لاسترداد حالة المقبس المحدد.
المَعلمات
-
socketId
الرقم
يحدد المقبس
-
معاودة الاتصال
الدالة اختيارية
تبدو معلَمة
callback
على النحو التالي:(result: SocketInfo) => void
-
نتيجة
-
المرتجعات
-
Promise<SocketInfo>
Chrome 121 والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار 3 من 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[]>
Chrome 121 والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار 3 من 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
الرقم
يحدد المقبس
-
enable
boolean
في حال الضبط على "صحيح"، فعِّل وظيفة البقاء على قيد الحياة.
-
delay
الرقم اختياري
يمكنك ضبط مهلة التأخير بالثواني بين آخر حزمة بيانات تم استلامها ومسايرة رسالة التحقّق من الاتصال الأولى. وتكون القيمة التلقائية 0.
-
معاودة الاتصال
الوظيفة
تبدو معلَمة
callback
على النحو التالي:(result: boolean) => void
-
نتيجة
boolean
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
حدِّد ما إذا كان سيتم تكرار تكرار حزم البث المتعدد المُرسَلة من المضيف إلى مجموعة البث المتعدد إلى المضيف.
ملاحظة: يختلف سلوك setMulticastLoopbackMode
قليلاً بين أنظمة Windows وUnix. ولا يحدث هذا التناقض إلا عندما يكون هناك أكثر من تطبيق واحد على المضيف نفسه منضم إلى مجموعة البث المتعدد نفسها مع ضبط إعدادات مختلفة في وضع الاسترجاع المتعدد للإرسال المتعدد. في نظام التشغيل Windows، لن تتلقى التطبيقات التي بها الاسترجاع حزم الاسترجاع؛ بينما في الأنظمة المشابهة لـ Unix، لن ترسل التطبيقات التي لها الاسترجاع حزم الاسترجاع إلى تطبيقات أخرى على نفس المضيف. راجع MSDN: http://goo.gl/6vqbj
لا يتطلب استدعاء هذه الطريقة أذونات البث المتعدد.
المَعلمات
-
socketId
الرقم
يحدد المقبس
-
مفعّلة
boolean
حدِّد ما إذا كنت تريد تفعيل وضع الاسترجاع أم لا.
-
معاودة الاتصال
الوظيفة
تبدو معلَمة
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
boolean
إذا كانت القيمة true، سيتم إيقاف خوارزمية Nagle.
-
معاودة الاتصال
الوظيفة
تبدو معلَمة
callback
على النحو التالي:(result: boolean) => void
-
نتيجة
boolean
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
تكتب البيانات على المقبس المتصل المحدد.