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