chrome.sockets.udp

ब्यौरा

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

मेनिफ़ेस्ट

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

"sockets"

टाइप

CreateInfo

प्रॉपर्टी

  • socketId

    नंबर

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

DnsQueryType

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

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

Enum

"ipv4"

"ipv6"

ReceiveErrorInfo

प्रॉपर्टी

  • resultCode

    नंबर

    मूल recvfrom() कॉल से मिला नतीजा कोड.

  • socketId

    नंबर

    सॉकेट आईडी.

ReceiveInfo

प्रॉपर्टी

  • डेटा

    ArrayBuffer

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

  • remoteAddress

    स्ट्रिंग

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

  • remotePort

    नंबर

    पैकेट के होस्ट का पोर्ट.

  • socketId

    नंबर

    सॉकेट आईडी.

SendInfo

प्रॉपर्टी

  • bytesSent

    नंबर ज़रूरी नहीं

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

  • resultCode

    नंबर

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

SocketInfo

प्रॉपर्टी

  • bufferSize

    नंबर ज़रूरी नहीं

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

  • localAddress

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

    अगर मौजूदा सॉकेट बाउंड है, तो उसमें लोकल आईपीवी4/6 पता शामिल होता है.

  • localPort

    नंबर ज़रूरी नहीं

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

  • नाम

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

    सॉकेट से संबद्ध ऐप्लिकेशन-तय स्ट्रिंग.

  • रोका गया

    boolean

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

  • अनवरत

    boolean

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

  • socketId

    नंबर

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

SocketProperties

प्रॉपर्टी

  • bufferSize

    नंबर ज़रूरी नहीं

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

  • नाम

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

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

  • अनवरत

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

    इस फ़्लैग से पता चलता है कि ऐप्लिकेशन के इवेंट पेज के अनलोड होने पर, सॉकेट खुला है या नहीं (ऐप्लिकेशन लाइफ़साइकल मैनेज करें देखें). डिफ़ॉल्ट वैल्यू "गलत" होती है. ऐप्लिकेशन लोड होने पर, पहले से खोली गई किसी भी पावर सॉकेट को 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,
)

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

पैरामीटर

  • प्रॉपर्टी

    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[]>

    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

    नंबर

    सॉकेट आईडी.

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

    boolean

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: number)=>void

    • नतीजा

      नंबर

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

setMulticastLoopbackMode()

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

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

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

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

पैरामीटर

  • socketId

    नंबर

    सॉकेट आईडी.

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

    boolean

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

  • कॉलबैक

    फ़ंक्शन

    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

    नंबर

  • रोका गया

    boolean

    रोकने या चालू करने के लिए फ़्लैग करें.

  • कॉलबैक

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

    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