توضیحات
از chrome.socket
API برای ارسال و دریافت داده از طریق شبکه با استفاده از اتصالات TCP و UDP استفاده کنید. توجه: با شروع Chrome 33، این API به نفع API های sockets.udp
، sockets.tcp
و sockets.tcpServer
منسوخ شده است.
مجوزها
socket
انواع
AcceptInfo
خواص
- نتیجه کد
شماره
- socketId
شماره اختیاری
شناسه سوکت پذیرفته شده
CreateInfo
خواص
- socketId
شماره
شناسه سوکت تازه ایجاد شده.
CreateOptions
NetworkInterface
خواص
- آدرس
رشته
آدرس IPv4/6 موجود.
- نام
رشته
نام اصلی آداپتور. در *nix، این معمولاً "eth0"، "lo" و غیره خواهد بود.
- طول پیشوند
شماره
طول پیشوند
ReadInfo
خواص
- داده ها
ArrayBuffer
- نتیجه کد
شماره
resultCode از فراخوانی ()read زیرین بازگشت.
RecvFromInfo
خواص
- آدرس
رشته
آدرس دستگاه از راه دور.
- داده ها
ArrayBuffer
- بندر
شماره
- نتیجه کد
شماره
resultCode از فراخوانی recvfrom() زیرین بازگشت.
SecureOptions
خواص
- tls نسخه
TLSVersionConstraints اختیاری است
SocketInfo
خواص
- متصل است
بولی
اینکه آیا سوکت زیرین وصل است یا خیر.
برای سوکتهای
tcp
، حتی اگر همتای راه دور قطع شده باشد، این موضوع صادق است. خواندن یا نوشتن در سوکت ممکن است منجر به خطا شود که به این نکته اشاره میکند که این سوکت باید از طریقdisconnect()
قطع شود.برای سوکت های
udp
، این فقط نشان می دهد که آیا یک آدرس راه دور پیش فرض برای خواندن و نوشتن بسته ها مشخص شده است یا خیر. - آدرس محلی
رشته اختیاری
اگر سوکت زیرین متصل یا متصل باشد، حاوی آدرس 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
خواص
- بایت نوشته شده است
شماره
تعداد بایت های ارسال شده یا کد خطای منفی.
روش ها
accept()
chrome.socket.accept(
socketId: number,
callback: function,
)
این روش فقط برای سوکت های TCP کاربرد دارد. هنگامی که اتصال در این سوکت سرور شنود پذیرفته می شود، یک تابع تماس را ثبت می کند تا فراخوانی شود. ابتدا باید گوش دهید. اگر در حال حاضر یک پاسخ پاسخ به پذیرش فعال وجود داشته باشد، این پاسخ تماس بلافاصله با یک خطا به عنوان resultCode فراخوانی می شود.
پارامترها
- socketId
شماره
SocketId.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(acceptInfo: AcceptInfo) => void
- پذیرش اطلاعات
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
آدرس محلی را برای سوکت متصل می کند. در حال حاضر از سوکت TCP پشتیبانی نمی کند.
پارامترها
- socketId
شماره
SocketId.
- آدرس
رشته
آدرس دستگاه محلی
- بندر
شماره
پورت ماشین محلی.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number) => void
- نتیجه
شماره
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
)
سوکت را به دستگاه از راه دور (برای سوکت tcp
) وصل می کند. برای یک سوکت udp
، این آدرس پیشفرض را تعیین میکند که بستهها برای فراخوانیهای read()
و write()
به آن ارسال و خوانده میشوند.
پارامترها
- socketId
شماره
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+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.
destroy()
chrome.socket.destroy(
socketId: number,
)
سوکت را از بین می برد. هر سوکت ایجاد شده باید پس از استفاده از بین برود.
پارامترها
- socketId
شماره
SocketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
سوکت را جدا می کند. برای سوکتهای UDP، disconnect
غیرعملیاتی است، اما برای تماس بیخطر است.
پارامترها
- socketId
شماره
SocketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
وضعیت سوکت داده شده را بازیابی می کند.
پارامترها
- socketId
شماره
SocketId.
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:(result: SocketInfo) => void
- نتیجه
برمی گرداند
Promise< SocketInfo >
Chrome 121+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
آدرس های گروه چندپخشی را که سوکت در حال حاضر به آنها متصل است، دریافت کنید.
پارامترها
- socketId
شماره
SocketId.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(groups: string[]) => void
- گروه ها
رشته[]
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
اطلاعات مربوط به آداپتورهای محلی این سیستم را بازیابی می کند.
پارامترها
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:(result: NetworkInterface[]) => void
- نتیجه
رابط شبکه []
برمی گرداند
Promise< رابط شبکه []>
Chrome 121+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
)
به گروه چندپخشی بپیوندید و شروع به دریافت بسته ها از آن گروه کنید. سوکت باید از نوع UDP باشد و قبل از فراخوانی این روش باید به پورت محلی متصل شود.
پارامترها
- socketId
شماره
SocketId.
- آدرس
رشته
آدرس گروه برای پیوستن نام دامنه پشتیبانی نمی شود.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number) => void
- نتیجه
شماره
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
گروه چندپخشی را که قبلاً با استفاده از joinGroup
ملحق شدهاید، ترک کنید. قبل از از بین بردن سوکت یا خروج، لازم نیست گروه چندپخشی را ترک کنید. این به طور خودکار توسط سیستم عامل فراخوانی می شود.
خروج از گروه از ارسال دیتاگرام های چندپخشی به میزبان محلی توسط روتر جلوگیری می کند، با این فرض که هیچ فرآیند دیگری در میزبان هنوز به گروه ملحق نشده است.
پارامترها
- socketId
شماره
SocketId.
- آدرس
رشته
آدرس گروه برای ترک. نام دامنه پشتیبانی نمی شود.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number) => void
- نتیجه
شماره
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
)
این روش فقط برای سوکت های TCP کاربرد دارد. به اتصالات در پورت و آدرس مشخص شده گوش می دهد. این به طور موثر این سوکت را به یک سوکت سرور تبدیل میکند و عملکردهای سوکت مشتری (اتصال، خواندن، نوشتن) دیگر نمیتواند در این سوکت استفاده شود.
پارامترها
- socketId
شماره
SocketId.
- آدرس
رشته
آدرس دستگاه محلی
- بندر
شماره
پورت ماشین محلی.
- عقب ماندگی
شماره اختیاری
طول صف گوش دادن سوکت.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number) => void
- نتیجه
شماره
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
)
داده ها را از سوکت متصل داده شده می خواند.
پارامترها
- socketId
شماره
SocketId.
- bufferSize
شماره اختیاری
اندازه بافر خوانده شده
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(readInfo: ReadInfo) => void
- خواندن اطلاعات
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
داده ها را از سوکت UDP داده شده دریافت می کند.
پارامترها
- socketId
شماره
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
شماره
SocketId.
- داده ها
ArrayBuffer
داده هایی برای نوشتن
- آدرس
رشته
آدرس دستگاه از راه دور.
- بندر
شماره
پورت دستگاه از راه دور.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(writeInfo: WriteInfo) => void
- نوشتن اطلاعات
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
عملکرد نگه داشتن زنده را برای اتصال TCP فعال یا غیرفعال می کند.
پارامترها
- socketId
شماره
SocketId.
- فعال کردن
بولی
اگر درست است، عملکرد نگه داشتن زنده را فعال کنید.
- تاخیر
شماره اختیاری
ثانیه های تاخیر را بین آخرین بسته داده دریافتی و اولین پروب نگهدارنده تنظیم کنید. پیش فرض 0 است.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: boolean) => void
- نتیجه
بولی
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
تنظیم کنید که بسته های چندپخشی ارسال شده از میزبان به گروه چندپخشی دوباره به میزبان بازگردانده شوند.
توجه: رفتار setMulticastLoopbackMode
بین ویندوز و سیستمهای شبه یونیکس کمی متفاوت است. این تناقض تنها زمانی اتفاق میافتد که بیش از یک برنامه در یک میزبان وجود داشته باشد که به گروه چندپخشی یکسانی ملحق شده باشند در حالی که تنظیمات متفاوتی در حالت چندپخشی حلقهای دارند. در ویندوز، برنامههایی که Loopback خاموش هستند، بستههای Loopback را دریافت نمیکنند. در حالی که در سیستمهای شبه یونیکس، برنامههای دارای Loopback خاموش، بستههای Loopback را به برنامههای کاربردی دیگر در همان میزبان ارسال نمیکنند. MSDN را ببینید: http://goo.gl/6vqbj
فراخوانی این روش به مجوزهای چندپخشی نیاز ندارد.
پارامترها
- socketId
شماره
SocketId.
- فعال شد
بولی
مشخص کنید که آیا حالت Loopback فعال شود یا خیر.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number) => void
- نتیجه
شماره
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
زمان پخش بسته های چندپخشی ارسال شده به گروه چندپخشی را تنظیم کنید.
فراخوانی این روش به مجوزهای چندپخشی نیاز ندارد.
پارامترها
- socketId
شماره
SocketId.
- ttl
شماره
ارزش زمان برای زندگی
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: number) => void
- نتیجه
شماره
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
TCP_NODELAY
برای اتصال TCP تنظیم یا پاک می کند. وقتی TCP_NODELAY
تنظیم شود، الگوریتم Nagle غیرفعال خواهد شد.
پارامترها
- socketId
شماره
SocketId.
- بدون تاخیر
بولی
اگر درست باشد، الگوریتم Nagle را غیرفعال می کند.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(result: boolean) => void
- نتیجه
بولی
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
داده ها را روی سوکت متصل می نویسد.