ब्यौरा
यूडीपी कनेक्शन का इस्तेमाल करके, नेटवर्क पर डेटा भेजने और पाने के लिए, chrome.sockets.udp एपीआई का इस्तेमाल करें. यह एपीआई, "सॉकेट" एपीआई में पहले से मौजूद यूडीपी फ़ंक्शन की जगह लागू होता है.
मेनिफ़ेस्ट
टाइप
CreateInfo
प्रॉपर्टी
-
socketId
संख्या
नए सॉकेट का आईडी. ध्यान दें कि इस एपीआई से बनाए गए सॉकेट आईडी, अन्य एपीआई से बनाए गए सॉकेट आईडी के साथ काम नहीं करते. जैसे, अब इस्तेमाल नहीं किए जा रहे
[socket](../socket/)एपीआई से बनाए गए सॉकेट आईडी.
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
string ज़रूरी नहीं
अगर मौजूदा सॉकेट बाउंड है, तो इसमें उसका लोकल IPv4/6 पता शामिल होता है.
-
localPort
number ज़रूरी नहीं
अगर अंडरलाइंग सॉकेट बाउंड है, तो उसमें उसका लोकल पोर्ट शामिल होता है.
-
नाम
string ज़रूरी नहीं
सॉकेट से जुड़ी, ऐप्लिकेशन के हिसाब से तय की गई स्ट्रिंग.
-
रोका गया
बूलियन
इस फ़्लैग से पता चलता है कि सॉकेट को onReceive इवेंट ट्रिगर करने से ब्लॉक किया गया है या नहीं.
-
अनवरत
बूलियन
इस फ़्लैग से पता चलता है कि ऐप्लिकेशन के निलंबित होने पर सॉकेट खुला रहता है या नहीं (
SocketProperties.persistentदेखें). -
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
SocketProperties
प्रॉपर्टी
-
bufferSize
number ज़रूरी नहीं
डेटा पाने के लिए इस्तेमाल किए जाने वाले बफ़र का साइज़. अगर बफ़र का साइज़ यूडीपी पैकेट पाने के लिए बहुत छोटा है, तो डेटा खो जाता है. इसकी डिफ़ॉल्ट वैल्यू 4096 होती है.
-
नाम
string ज़रूरी नहीं
सॉकेट से जुड़ी, ऐप्लिकेशन के हिसाब से तय की गई स्ट्रिंग.
-
अनवरत
बूलियन ज़रूरी नहीं
यह फ़्लैग बताता है कि ऐप्लिकेशन का इवेंट पेज अनलोड होने पर, सॉकेट खुला रहता है या नहीं (ऐप्लिकेशन लाइफ़साइकल मैनेज करें देखें). इसकी डिफ़ॉल्ट वैल्यू "false" है. ऐप्लिकेशन लोड होने पर, persistent=true के साथ पहले खोले गए किसी भी सॉकेट को
getSocketsकी मदद से फ़ेच किया जा सकता है.
तरीके
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
सॉकेट के लिए स्थानीय पते और पोर्ट को बाइंड करता है. क्लाइंट सॉकेट के लिए, हमारा सुझाव है कि आप पोर्ट 0 का इस्तेमाल करें, ताकि प्लैटफ़ॉर्म कोई खाली पोर्ट चुन सके.
bind कार्रवाई पूरी होने के बाद, onReceive इवेंट तब ट्रिगर होते हैं, जब यूडीपी पैकेट बताए गए पते/पोर्ट पर पहुंचते हैं. हालांकि, ऐसा तब होता है, जब सॉकेट को रोका न गया हो.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
पता
स्ट्रिंग
लोकल मशीन का पता. डीएनएस नेम, IPv4, और IPv6 फ़ॉर्मैट इस्तेमाल किए जा सकते हैं. स्थानीय तौर पर उपलब्ध सभी नेटवर्क इंटरफ़ेस से पैकेट स्वीकार करने के लिए, "0.0.0.0" का इस्तेमाल करें.
-
पोर्ट
संख्या
लोकल मशीन का पोर्ट. किसी खाली पोर्ट से बाइंड करने के लिए, "0" का इस्तेमाल करें.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
अंडरलाइंग नेटवर्क कॉल से मिला रिज़ल्ट कोड. नेगेटिव वैल्यू से पता चलता है कि कोई गड़बड़ी हुई है.
-
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
): Promise<void>
सॉकेट को बंद करता है और उस पते/पोर्ट को रिलीज़ करता है जिससे सॉकेट जुड़ा हुआ है. बनाए गए हर सॉकेट को इस्तेमाल के बाद बंद कर देना चाहिए. फ़ंक्शन को कॉल करते ही, सॉकेट आईडी अमान्य हो जाता है. हालांकि, सॉकेट के बंद होने की गारंटी सिर्फ़ तब होती है, जब कॉलबैक को शुरू किया जाता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
दी गई प्रॉपर्टी के साथ यूडीपी सॉकेट बनाता है.
पैरामीटर
-
प्रॉपर्टी
SocketProperties ज़रूरी नहीं
सॉकेट की प्रॉपर्टी (ज़रूरी नहीं).
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(createInfo: CreateInfo) => void
-
createInfo
सॉकेट बनाने का नतीजा.
-
रिटर्न
-
Promise<CreateInfo>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
दिए गए सॉकेट की स्थिति को वापस लाता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(socketInfo: SocketInfo) => void
-
socketInfo
सॉकेट की जानकारी वाला ऑब्जेक्ट.
-
रिटर्न
-
Promise<SocketInfo>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
): Promise<string[]>
यह उस मल्टीकास्ट ग्रुप के पते फ़ेच करता है जिससे सॉकेट फ़िलहाल जुड़ा हुआ है.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(groups: string[]) => void
-
समूह
string[]
उन ग्रुप का कलेक्शन जिनमें सॉकेट शामिल हुआ.
-
रिटर्न
-
Promise<string[]>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
यह ऐप्लिकेशन के मालिकाना हक वाले, फ़िलहाल खुले हुए सॉकेट की सूची को फिर से हासिल करता है.
पैरामीटर
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(socketInfos: SocketInfo[]) => void
-
socketInfos
सॉकेट की जानकारी वाले ऑब्जेक्ट का कलेक्शन.
-
रिटर्न
-
Promise<SocketInfo[]>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
): void
मल्टीकास्ट ग्रुप में शामिल होता है और उस ग्रुप से पैकेट पाना शुरू करता है. इस तरीके को कॉल करने से पहले, सॉकेट को किसी लोकल पोर्ट से बाउंड करना ज़रूरी है.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
पता
स्ट्रिंग
उस ग्रुप का पता जिसमें शामिल होना है. डोमेन नेम इस्तेमाल नहीं किए जा सकते.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
अंडरलाइंग नेटवर्क कॉल से मिला रिज़ल्ट कोड. नेगेटिव वैल्यू से पता चलता है कि कोई गड़बड़ी हुई है.
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
joinGroup का इस्तेमाल करके, पहले से शामिल मल्टीकास्ट ग्रुप को छोड़ता है. यह कॉल सिर्फ़ तब ज़रूरी है, जब आपको सॉकेट का इस्तेमाल जारी रखना हो. ऐसा इसलिए, क्योंकि सॉकेट बंद होने पर ओएस अपने-आप यह काम कर देगा.
ग्रुप छोड़ने पर, राउटर लोकल होस्ट को मल्टीकास्ट डेटाग्राम नहीं भेज पाएगा. हालांकि, ऐसा तब होगा, जब होस्ट पर मौजूद कोई अन्य प्रोसेस अब भी ग्रुप में शामिल न हो.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
पता
स्ट्रिंग
उस ग्रुप का पता जिसे छोड़ना है. डोमेन नेम इस्तेमाल नहीं किए जा सकते.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
अंडरलाइंग नेटवर्क कॉल से मिला रिज़ल्ट कोड. नेगेटिव वैल्यू से पता चलता है कि कोई गड़बड़ी हुई है.
-
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
दिए गए सॉकेट पर मौजूद डेटा को दिए गए पते और पोर्ट पर भेजता है. इस तरीके को कॉल करने से पहले, सॉकेट को किसी लोकल पोर्ट से बाउंड करना ज़रूरी है.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
डेटा
ArrayBuffer
भेजा जाने वाला डेटा.
-
पता
स्ट्रिंग
रिमोट मशीन का पता.
-
पोर्ट
संख्या
रिमोट मशीन का पोर्ट.
-
dnsQueryType
DnsQueryType ज़रूरी नहीं
Chrome 103 या इसके बाद का वर्शनपते के रिज़ॉल्यूशन की प्राथमिकता.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(sendInfo: SendInfo) => void
-
sendInfo
sendतरीके का नतीजा.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
): void
इस सॉकेट पर ब्रॉडकास्ट पैकेट की सुविधा को चालू या बंद करता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
चालू किया गया
बूलियन
ब्रॉडकास्ट पैकेट चालू करने के लिए
trueऔर बंद करने के लिएfalse. -
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
अंडरलाइंग नेटवर्क कॉल से मिला रिज़ल्ट कोड.
-
setMulticastLoopbackMode()
chrome.sockets.udp.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
यह नीति तय करती है कि होस्ट से मल्टीकास्ट ग्रुप को भेजे गए मल्टीकास्ट पैकेट, होस्ट को वापस भेजे जाएंगे या नहीं.
ध्यान दें: Windows और Unix जैसे सिस्टम में, setMulticastLoopbackMode का व्यवहार थोड़ा अलग होता है. यह अंतर सिर्फ़ तब होता है, जब एक ही होस्ट पर एक से ज़्यादा ऐप्लिकेशन, एक ही मल्टीकास्ट ग्रुप से जुड़े हों. साथ ही, मल्टीकास्ट लूपबैक मोड पर अलग-अलग सेटिंग हों. Windows पर, लूपबैक की सुविधा बंद होने पर ऐप्लिकेशन को लूपबैक पैकेट नहीं मिलेंगे. वहीं, Unix जैसे सिस्टम पर, लूपबैक की सुविधा बंद होने पर ऐप्लिकेशन, उसी होस्ट पर मौजूद अन्य ऐप्लिकेशन को लूपबैक पैकेट नहीं भेजेंगे. MSDN देखें: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2
इस तरीके को कॉल करने के लिए, मल्टीकास्ट की अनुमतियों की ज़रूरत नहीं होती.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
चालू किया गया
बूलियन
इससे पता चलता है कि लूपबैक मोड चालू करना है या नहीं.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
अंडरलाइंग नेटवर्क कॉल से मिला रिज़ल्ट कोड. नेगेटिव वैल्यू से पता चलता है कि कोई गड़बड़ी हुई है.
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
मल्टीकास्ट ग्रुप को भेजे गए मल्टीकास्ट पैकेट के लिए, टाइम-टू-लाइव सेट करता है.
इस तरीके को कॉल करने के लिए, मल्टीकास्ट की अनुमतियों की ज़रूरत नहीं होती.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
ttl
संख्या
टाइम-टू-लाइव वैल्यू.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
अंडरलाइंग नेटवर्क कॉल से मिला रिज़ल्ट कोड. नेगेटिव वैल्यू से पता चलता है कि कोई गड़बड़ी हुई है.
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
सॉकेट को रोकता है या फिर से शुरू करता है. रोके गए सॉकेट को onReceive इवेंट ट्रिगर करने से ब्लॉक कर दिया जाता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
रोका गया
बूलियन
इस फ़्लैग से पता चलता है कि वीडियो को रोकना है या फिर से चलाना है.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
सॉकेट की प्रॉपर्टी अपडेट करता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
प्रॉपर्टी
अपडेट की जाने वाली प्रॉपर्टी.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest 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
-
जानकारी
-