الوصف
استخدام واجهة برمجة التطبيقات 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
أماكن إقامة
-
البيانات
مخزن المصفوفات
-
resultCode
الرقم
رمز النتيجة الذي تم عرضه من استدعاء read() الأساسي.
RecvFromInfo
أماكن إقامة
-
معالجة
سلسلة
عنوان الجهاز البعيد.
-
البيانات
مخزن المصفوفات
-
المنفذ
الرقم
-
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 فقط. تسجيل دالة استدعاء ليتم استدعاؤها عند قبول اتصال على مقبس خادم الاستماع هذا. يجب طلب الاستماع أولاً. إذا سبق أن تم استدعاء استدعاء قبول نشط، سيتم استدعاء هذه الدالة على الفور مع ظهور خطأ تحت رمز النتيجة.
المعلمات
-
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
الرقم
رقم تعريف المقبس
-
اسم المضيف
سلسلة
اسم المضيف أو عنوان 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>
الإصدار 121 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار 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>
الإصدار 121 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار 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[]>
الإصدار 121 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار 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
الرقم
رقم تعريف المقبس
-
البيانات
مخزن المصفوفات
البيانات المراد كتابتها.
-
معالجة
سلسلة
عنوان الجهاز البعيد.
-
المنفذ
الرقم
منفذ الجهاز البعيد.
-
رد الاتصال
دالة
تظهر المَعلمة
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
منطقي
إذا كانت القيمة هي true، فسيتم إيقاف خوارزمية Nagle.
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(result: boolean) => void
-
نتيجة
منطقي
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
يكتب البيانات على المقبس المتصل المحدد.