ब्यौरा
यूडीपी कनेक्शन का इस्तेमाल करके, नेटवर्क पर डेटा भेजने और पाने के लिए, chrome.sockets.udp
API का इस्तेमाल करें. यह एपीआई, "सॉकेट" एपीआई में पहले से मौजूद यूडीपी की सुविधा की जगह लेता है.
मेनिफ़ेस्ट
टाइप
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
संख्या
सॉकेट आईडी.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 121 या इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
यह फ़ंक्शन, दी गई प्रॉपर्टी के साथ एक यूडीपी सॉकेट बनाता है.
पैरामीटर
-
प्रॉपर्टी
SocketProperties optional
सॉकेट की प्रॉपर्टी (ज़रूरी नहीं).
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(createInfo: CreateInfo) => void
-
createInfo
सॉकेट बनाने का नतीजा.
-
रिटर्न
-
Promise<CreateInfo>
Chrome 121 या इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
यह फ़ंक्शन, दिए गए सॉकेट की स्थिति को वापस लाता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(socketInfo: SocketInfo) => void
-
socketInfo
सॉकेट की जानकारी देने वाला ऑब्जेक्ट.
-
रिटर्न
-
Promise<SocketInfo>
Chrome 121 या इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
): Promise<string[]>
यह फ़ंक्शन, उन मल्टीकास्ट ग्रुप के पते दिखाता है जिनसे सॉकेट फ़िलहाल जुड़ा हुआ है.
पैरामीटर
-
socketId
संख्या
सॉकेट आईडी.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(groups: string[]) => void
-
समूह
string[]
सॉकेट में शामिल किए गए ग्रुप की ऐरे.
-
रिटर्न
-
Promise<string[]>
Chrome 121 या इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
यह ऐप्लिकेशन के मालिकाना हक वाले, फ़िलहाल खुले हुए सॉकेट की सूची को वापस लाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(socketInfos: SocketInfo[]) => void
-
socketInfos
सॉकेट की जानकारी देने वाले ऑब्जेक्ट का कलेक्शन.
-
रिटर्न
-
Promise<SocketInfo[]>
Chrome 121 या इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट 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
संख्या
-
रोका गया
बूलियन
यह फ़्लैग बताता है कि वीडियो को रोकना है या फिर से शुरू करना है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 121 या इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
सॉकेट की प्रॉपर्टी अपडेट करता है.
पैरामीटर
-
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
-
जानकारी
-