ब्यौरा
यूडीपी कनेक्शन का इस्तेमाल करके, नेटवर्क पर डेटा भेजने और पाने के लिए, chrome.sockets.udp
एपीआई का इस्तेमाल करें. यह एपीआई, "सॉकेट" एपीआई में पहले मौजूद यूडीपी फ़ंक्शन की जगह ले लेता है.
मेनिफ़ेस्ट
इस एपीआई का इस्तेमाल करने के लिए, यहां दी गई कुंजियों को मेनिफ़ेस्ट में एलान करना ज़रूरी है.
"sockets"
टाइप
CreateInfo
प्रॉपर्टी
-
socketId
संख्या
नए बनाए गए सॉकेट का आईडी. ध्यान दें कि इस एपीआई से बनाए गए सॉकेट आईडी, दूसरे एपीआई से बनाए गए सॉकेट आईडी के साथ काम नहीं करते. जैसे, अब काम न करने वाला
[
socket](../socket/)
API.
DnsQueryType
डीएनएस रिज़ॉल्यूशन की प्राथमिकताएं. डिफ़ॉल्ट तौर पर, यह 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.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
-
जानकारी
-