chrome.sockets.udp

ब्यौरा

यूडीपी कनेक्शन का इस्तेमाल करके, नेटवर्क पर डेटा भेजने और पाने के लिए, chrome.sockets.udp एपीआई का इस्तेमाल करें. यह एपीआई, "सॉकेट" एपीआई में पहले मौजूद यूडीपी फ़ंक्शन की जगह ले लेता है.

मेनिफ़ेस्ट

इस एपीआई का इस्तेमाल करने के लिए, यहां दी गई कुंजियों को मेनिफ़ेस्ट में एलान करना ज़रूरी है.

"sockets"

टाइप

CreateInfo

प्रॉपर्टी

  • socketId

    संख्या

    नए बनाए गए सॉकेट का आईडी. ध्यान दें कि इस एपीआई से बनाए गए सॉकेट आईडी, दूसरे एपीआई से बनाए गए सॉकेट आईडी के साथ काम नहीं करते. जैसे, अब काम न करने वाला [socket](../socket/) API.

DnsQueryType

Chrome 103 और उसके बाद के वर्शन

डीएनएस रिज़ॉल्यूशन की प्राथमिकताएं. डिफ़ॉल्ट तौर पर, यह any होता है. यह मौजूदा ओएस कॉन्फ़िगरेशन का इस्तेमाल करता है, जो IPv4 या IPv6 दिखा सकता है. ipv4, IPv4 को और ipv6, IPv6 को लागू करता है.

Enum

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

प्रॉपर्टी

  • resultCode

    संख्या

    recvfrom() कॉल से मिला रिज़ल्ट कोड.

  • socketId

    संख्या

    सॉकेट आईडी.

ReceiveInfo

प्रॉपर्टी

  • डेटा

    ArrayBuffer

    यूडीपी पैकेट का कॉन्टेंट (मौजूदा बफ़र साइज़ के हिसाब से काटा गया).

  • remoteAddress

    स्ट्रिंग

    उस होस्ट का पता जिससे पैकेट आता है.

  • remotePort

    संख्या

    उस होस्ट का पोर्ट जिससे पैकेट आता है.

  • socketId

    संख्या

    सॉकेट आईडी.

SendInfo

प्रॉपर्टी

  • bytesSent

    number ज़रूरी नहीं

    भेजे गए बाइट की संख्या (अगर नतीजा == 0)

  • resultCode

    संख्या

    नेटवर्क कॉल से मिला नतीजा कोड. नेगेटिव वैल्यू से गड़बड़ी का पता चलता है.

SocketInfo

प्रॉपर्टी

  • bufferSize

    number ज़रूरी नहीं

    डेटा पाने के लिए इस्तेमाल किए जाने वाले बफ़र का साइज़. अगर बफ़र साइज़ के लिए कोई वैल्यू नहीं दी गई है, तो वैल्यू नहीं दी जाती.

  • localAddress

    स्ट्रिंग ज़रूरी नहीं है

    अगर सोकेट बाउंड है, तो इसमें उसका लोकल IPv4/6 पता होता है.

  • localPort

    number ज़रूरी नहीं

    अगर सोकेट बाउंड है, तो इसमें उसका लोकल पोर्ट शामिल होता है.

  • नाम

    स्ट्रिंग ज़रूरी नहीं है

    सॉकेट से जुड़ी, ऐप्लिकेशन से तय की गई स्ट्रिंग.

  • रोका गया

    बूलियन

    इस फ़्लैग से पता चलता है कि सोकेट को onReceive इवेंट ट्रिगर करने से ब्लॉक किया गया है या नहीं.

  • अनवरत

    बूलियन

    इस फ़्लैग से पता चलता है कि ऐप्लिकेशन निलंबित होने पर, सॉकेट खुला रहता है या नहीं (SocketProperties.persistent देखें).

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

SocketProperties

प्रॉपर्टी

  • bufferSize

    number ज़रूरी नहीं

    डेटा पाने के लिए इस्तेमाल किए जाने वाले बफ़र का साइज़. अगर बफ़र, यूडीपी पैकेट पाने के लिए बहुत छोटा है, तो डेटा खो जाता है. डिफ़ॉल्ट वैल्यू 4096 है.

  • नाम

    स्ट्रिंग ज़रूरी नहीं है

    सॉकेट से जुड़ी, ऐप्लिकेशन से तय की गई स्ट्रिंग.

  • अनवरत

    बूलियन ज़रूरी नहीं है

    यह फ़्लैग बताता है कि ऐप्लिकेशन का इवेंट पेज अनलोड होने पर, सॉकेट खुला रहता है या नहीं. ज़्यादा जानकारी के लिए, ऐप्लिकेशन का लाइफ़साइकल मैनेज करना लेख पढ़ें. इसकी डिफ़ॉल्ट वैल्यू "गलत" होती है. ऐप्लिकेशन लोड होने के बाद, पहले से persistent=true के साथ खोली गई किसी भी सॉकेट को getSockets से फ़ेच किया जा सकता है.

तरीके

bind()

chrome.sockets.udp.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)

यह सोकेट के लिए लोकल पता और पोर्ट को बांधता है. क्लाइंट सॉकेट के लिए, हमारा सुझाव है कि पोर्ट 0 का इस्तेमाल करें, ताकि प्लैटफ़ॉर्म कोई खाली पोर्ट चुन सके.

bind ऑपरेशन पूरा होने के बाद, तय किए गए पते/पोर्ट पर यूडीपी पैकेट आने पर onReceive इवेंट जनरेट होते हैं. ऐसा तब तक होता है, जब तक सॉकेट को रोका नहीं जाता.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • पता

    स्ट्रिंग

    लोकल मशीन का पता. डीएनएस नेम, IPv4, और IPv6 फ़ॉर्मैट का इस्तेमाल किया जा सकता है. सभी उपलब्ध लोकल नेटवर्क इंटरफ़ेस से पैकेट स्वीकार करने के लिए, "0.0.0.0" का इस्तेमाल करें.

  • पोर्ट

    संख्या

    लोकल मशीन का पोर्ट. किसी खाली पोर्ट से बाइंड करने के लिए, "0" का इस्तेमाल करें.

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर इस तरह दिखता है:

    (result: number) => void

    • नतीजा

      संख्या

      नेटवर्क कॉल से मिला नतीजा कोड. नेगेटिव वैल्यू से गड़बड़ी का पता चलता है.

close()

वादा करना
chrome.sockets.udp.close(
  socketId: number,
  callback?: function,
)

यह सॉकेट को बंद कर देता है और उस पते/पोर्ट को रिलीज़ कर देता है जिससे सॉकेट बंधा होता है. इस्तेमाल के बाद, बनाए गए हर सॉकेट को बंद कर देना चाहिए. फ़ंक्शन के कॉल होने के बाद, सॉकेट आईडी अमान्य हो जाता है. हालांकि, यह पक्का नहीं किया जा सकता कि कॉलबैक का इस्तेमाल होने पर ही सॉकेट बंद हो जाएगा.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर इस तरह दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 121 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

create()

वादा करना
chrome.sockets.udp.create(
  properties?: SocketProperties,
  callback?: function,
)

दी गई प्रॉपर्टी के साथ यूडीपी सॉकेट बनाता है.

पैरामीटर

  • प्रॉपर्टी

    SocketProperties ज़रूरी नहीं है

    सॉकेट प्रॉपर्टी (ज़रूरी नहीं).

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर इस तरह दिखता है:

    (createInfo: CreateInfo) => void

    • createInfo

      सॉकेट बनाने का नतीजा.

रिटर्न

  • Promise<CreateInfo>

    Chrome 121 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

getInfo()

वादा करना
chrome.sockets.udp.getInfo(
  socketId: number,
  callback?: function,
)

दिए गए सॉकेट की स्थिति दिखाता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर इस तरह दिखता है:

    (socketInfo: SocketInfo) => void

    • socketInfo

      सॉकेट की जानकारी वाला ऑब्जेक्ट.

रिटर्न

  • Promise<SocketInfo>

    Chrome 121 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

getJoinedGroups()

वादा करना
chrome.sockets.udp.getJoinedGroups(
  socketId: number,
  callback?: function,
)

इस फ़ंक्शन से, मल्टीकास्ट ग्रुप के वे पते मिलते हैं जिनसे सॉकेट फ़िलहाल जुड़ा हुआ है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर इस तरह दिखता है:

    (groups: string[]) => void

    • समूह

      string[]

      ग्रुप का कलेक्शन, जिसमें सॉकेट शामिल है.

रिटर्न

  • Promise<string[]>

    Chrome 121 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

getSockets()

वादा करना
chrome.sockets.udp.getSockets(
  callback?: function,
)

ऐप्लिकेशन के मालिकाना हक वाली, फ़िलहाल खुली हुई सॉकेट की सूची दिखाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर इस तरह दिखता है:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      सॉकेट की जानकारी वाला ऑब्जेक्ट कलेक्शन.

रिटर्न

  • Promise<SocketInfo[]>

    Chrome 121 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

joinGroup()

chrome.sockets.udp.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)

मल्टीकास्ट ग्रुप में शामिल हो जाता है और उस ग्रुप से पैकेट पाने लगता है. इस तरीके को कॉल करने से पहले, सॉकेट को किसी लोकल पोर्ट से बंधा होना चाहिए.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • पता

    स्ट्रिंग

    जिस ग्रुप में शामिल होना है उसका पता. डोमेन नेम काम नहीं करते.

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर इस तरह दिखता है:

    (result: number) => void

    • नतीजा

      संख्या

      नेटवर्क कॉल से मिला नतीजा कोड. नेगेटिव वैल्यू से गड़बड़ी का पता चलता है.

leaveGroup()

chrome.sockets.udp.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)

joinGroup का इस्तेमाल करके, पहले से शामिल किए गए मल्टीकास्ट ग्रुप को छोड़ता है. यह कॉल सिर्फ़ तब करना ज़रूरी है, जब आपको बाद में भी सॉकेट का इस्तेमाल करना हो. ऐसा इसलिए, क्योंकि सॉकेट बंद होने पर यह काम ओएस अपने-आप कर लेगा.

ग्रुप छोड़ने पर, राउटर स्थानीय होस्ट को मल्टीकास्ट डेटाग्राम नहीं भेज पाएगा. ऐसा तब होगा, जब होस्ट पर कोई अन्य प्रोसेस अब भी ग्रुप से जुड़ी न हो.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • पता

    स्ट्रिंग

    जिस ग्रुप को छोड़ना है उसका पता. डोमेन नेम काम नहीं करते.

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर इस तरह दिखता है:

    (result: number) => void

    • नतीजा

      संख्या

      नेटवर्क कॉल से मिला नतीजा कोड. नेगेटिव वैल्यू से गड़बड़ी का पता चलता है.

send()

chrome.sockets.udp.send(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)

दिए गए पते और पोर्ट पर, दिए गए सॉकेट पर डेटा भेजता है. इस तरीके को कॉल करने से पहले, सॉकेट को किसी लोकल पोर्ट से बंधा होना चाहिए.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • डेटा

    ArrayBuffer

    भेजा जाने वाला डेटा.

  • पता

    स्ट्रिंग

    रिमोट मशीन का पता.

  • पोर्ट

    संख्या

    रिमोट मशीन का पोर्ट.

  • dnsQueryType

    DnsQueryType ज़रूरी नहीं

    Chrome 103 और उसके बाद के वर्शन

    पते का पता लगाने की प्राथमिकता.

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर इस तरह दिखता है:

    (sendInfo: SendInfo) => void

    • sendInfo

      send तरीके का नतीजा.

setBroadcast()

Chrome 44 और उसके बाद के वर्शन
chrome.sockets.udp.setBroadcast(
  socketId: number,
  enabled: boolean,
  callback: function,
)

इस सॉकेट पर ब्रॉडकास्ट पैकेट को चालू या बंद करता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • चालू किया गया

    बूलियन

    ब्रॉडकास्ट पैकेट चालू करने के लिए true और बंद करने के लिए false दबाएं.

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर इस तरह दिखता है:

    (result: number) => void

    • नतीजा

      संख्या

      नेटवर्क कॉल से मिला नतीजा कोड.

setMulticastLoopbackMode()

chrome.sockets.udp.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)

इससे यह तय होता है कि होस्ट से मल्टीकास्ट ग्रुप को भेजे गए मल्टीकास्ट पैकेट, होस्ट पर वापस भेजे जाएंगे या नहीं.

ध्यान दें: Windows और Unix जैसे सिस्टम में, setMulticastLoopbackMode का काम करने का तरीका थोड़ा अलग होता है. गड़बड़ी सिर्फ़ तब होती है, जब एक ही होस्ट पर एक से ज़्यादा ऐप्लिकेशन एक ही मल्टीकास्ट ग्रुप से जुड़े हों और मल्टीकास्ट लूपबैक मोड पर अलग-अलग सेटिंग हों. Windows पर, जिन ऐप्लिकेशन में लूपबैक की सुविधा बंद है उन्हें लूपबैक पैकेट नहीं मिलेंगे. वहीं, Unix जैसे सिस्टम पर, जिन ऐप्लिकेशन में लूपबैक की सुविधा बंद है वे उसी होस्ट पर मौजूद अन्य ऐप्लिकेशन को लूपबैक पैकेट नहीं भेजेंगे. MSDN देखें: http://goo.gl/6vqbj

इस तरीके को कॉल करने के लिए, मल्टीकास्ट की अनुमतियों की ज़रूरत नहीं होती.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • चालू किया गया

    बूलियन

    बताएं कि लूपबैक मोड चालू करना है या नहीं.

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर इस तरह दिखता है:

    (result: number) => void

    • नतीजा

      संख्या

      नेटवर्क कॉल से मिला नतीजा कोड. नेगेटिव वैल्यू से गड़बड़ी का पता चलता है.

setMulticastTimeToLive()

chrome.sockets.udp.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)

मल्टीकास्ट ग्रुप को भेजे गए मल्टीकास्ट पैकेट का टाइम-टू-लाइव सेट करता है.

इस तरीके को कॉल करने के लिए, मल्टीकास्ट की अनुमतियों की ज़रूरत नहीं होती.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • ttl

    संख्या

    'लाइव रहने का समय' वैल्यू.

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर इस तरह दिखता है:

    (result: number) => void

    • नतीजा

      संख्या

      नेटवर्क कॉल से मिला नतीजा कोड. नेगेटिव वैल्यू से गड़बड़ी का पता चलता है.

setPaused()

वादा करना
chrome.sockets.udp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

किसी सॉकेट को रोकता है या फिर से चालू करता है. रोके गए सॉकेट को onReceive इवेंट ट्रिगर करने से ब्लॉक किया जाता है.

पैरामीटर

  • socketId

    संख्या

  • रोका गया

    बूलियन

    यह फ़्लैग बताता है कि वीडियो को रोकना है या फिर से चलाना है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर इस तरह दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 121 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

update()

वादा करना
chrome.sockets.udp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

सॉकेट प्रॉपर्टी को अपडेट करता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • प्रॉपर्टी

    अपडेट की जाने वाली प्रॉपर्टी.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर इस तरह दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 121 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

इवेंट

onReceive

chrome.sockets.udp.onReceive.addListener(
  callback: function,
)

जब किसी सोकेट के लिए यूडीपी पैकेट मिलता है, तब यह इवेंट ट्रिगर होता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर इस तरह दिखता है:

    (info: ReceiveInfo) => void

onReceiveError

chrome.sockets.udp.onReceiveError.addListener(
  callback: function,
)

जब रनटाइम, सॉकेट पते और पोर्ट पर डेटा का इंतज़ार कर रहा था, तब नेटवर्क से जुड़ी गड़बड़ी होने पर यह इवेंट ट्रिगर होता है. यह इवेंट होने के बाद, सॉकेट को रोक दिया जाता है. साथ ही, सॉकेट को फिर से शुरू करने तक, इस सॉकेट के लिए कोई और onReceive इवेंट नहीं भेजा जाएगा.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर इस तरह दिखता है:

    (info: ReceiveErrorInfo) => void