ब्यौरा
टीसीपी और यूडीपी कनेक्शन का इस्तेमाल करके, नेटवर्क पर डेटा भेजने और पाने के लिए, chrome.socket एपीआई का इस्तेमाल करें. ध्यान दें: Chrome 33 से, इस एपीआई का इस्तेमाल बंद कर दिया गया है. इसकी जगह, sockets.udp, sockets.tcp, और sockets.tcpServer एपीआई का इस्तेमाल किया जा रहा है.
अनुमतियां
socketटाइप
AcceptInfo
प्रॉपर्टी
-
resultCode
संख्या
-
socketId
number ज़रूरी नहीं
स्वीकार किए गए सॉकेट का आईडी.
CreateInfo
प्रॉपर्टी
-
socketId
संख्या
नए सॉकेट का आईडी.
CreateOptions
NetworkInterface
प्रॉपर्टी
-
पता
स्ट्रिंग
उपलब्ध IPv4/6 पता.
-
नाम
स्ट्रिंग
अडैप्टर का मूल नाम. *nix पर, यह आम तौर पर "eth0", "lo" वगैरह होगा.
-
prefixLength
संख्या
प्रीफ़िक्स की लंबाई
ReadInfo
प्रॉपर्टी
-
डेटा
ArrayBuffer
-
resultCode
संख्या
अंडरलाइंग read() कॉल से मिला resultCode.
RecvFromInfo
प्रॉपर्टी
-
पता
स्ट्रिंग
रिमोट मशीन का पता.
-
डेटा
ArrayBuffer
-
पोर्ट
संख्या
-
resultCode
संख्या
recvfrom() कॉल से मिला resultCode.
SecureOptions
प्रॉपर्टी
-
tlsVersion
TLSVersionConstraints ज़रूरी नहीं
SocketInfo
प्रॉपर्टी
-
कनेक्ट किया गया
बूलियन
इससे पता चलता है कि अंडरलाइंग सॉकेट कनेक्ट है या नहीं.
tcpसॉकेट के लिए, यह तब भी सही रहेगा, जब रिमोट पीयर डिसकनेक्ट हो गया हो. इसके बाद, सॉकेट को पढ़ने या उसमें लिखने से गड़बड़ी हो सकती है. इससे पता चलता है कि इस सॉकेट कोdisconnect()के ज़रिए डिसकनेक्ट किया जाना चाहिए.udpसॉकेट के लिए, यह सिर्फ़ यह दिखाता है कि पैकेट को पढ़ने और लिखने के लिए, कोई डिफ़ॉल्ट रिमोट पता तय किया गया है या नहीं. -
localAddress
string ज़रूरी नहीं
अगर अंडरलाइंग सॉकेट बाउंड या कनेक्ट है, तो इसमें उसका स्थानीय IPv4/6 पता शामिल होता है.
-
localPort
number ज़रूरी नहीं
अगर अंडरलाइंग सॉकेट बाउंड या कनेक्टेड है, तो इसमें उसका लोकल पोर्ट शामिल होता है.
-
peerAddress
string ज़रूरी नहीं
अगर मौजूदा सॉकेट कनेक्ट है, तो इसमें पीयर का IPv4/6 पता शामिल होता है.
-
peerPort
number ज़रूरी नहीं
अगर मौजूदा सॉकेट कनेक्ट है, तो इसमें कनेक्ट किए गए पीयर का पोर्ट शामिल होता है.
-
socketType
पास किए गए सॉकेट का टाइप. यह
tcpयाudpहोगा.
SocketType
Enum
"tcp"
"udp"
TLSVersionConstraints
प्रॉपर्टी
-
अधिकतम
string ज़रूरी नहीं
-
न्यून
string ज़रूरी नहीं
TLS के कम से कम और ज़्यादा से ज़्यादा स्वीकार किए जाने वाले वर्शन.
tls1.2याtls1.3का इस्तेमाल किया जा सकता है.tls1औरtls1.1वैल्यू अब काम नहीं करतीं. अगरminको इनमें से किसी एक वैल्यू पर सेट किया जाता है, तो इसे चुपचापtls1.2पर सेट कर दिया जाएगा. अगरmaxको इनमें से किसी एक वैल्यू या किसी अन्य ऐसी वैल्यू पर सेट किया जाता है जिसकी पहचान नहीं की जा सकती, तो उसे अनदेखा कर दिया जाएगा.
WriteInfo
प्रॉपर्टी
-
bytesWritten
संख्या
भेजे गए बाइट की संख्या या गड़बड़ी का नेगेटिव कोड.
तरीके
accept()
chrome.socket.accept(
socketId: number,
callback: function,
): void
यह तरीका सिर्फ़ टीसीपी सॉकेट पर लागू होता है. यह एक कॉलबैक फ़ंक्शन रजिस्टर करता है. इसे तब कॉल किया जाता है, जब इस लिसनिंग सर्वर सॉकेट पर कनेक्शन स्वीकार किया जाता है. Listen को पहले कॉल करना ज़रूरी है. अगर पहले से ही कोई ऐक्टिव एक्सेप्ट कॉलबैक मौजूद है, तो यह कॉलबैक तुरंत ट्रिगर हो जाएगा. साथ ही, resultCode के तौर पर गड़बड़ी का मैसेज दिखेगा.
पैरामीटर
-
socketId
संख्या
socketId.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
सॉकेट के लिए स्थानीय पते को बाइंड करता है. फ़िलहाल, यह टीसीपी सॉकेट के साथ काम नहीं करता.
पैरामीटर
-
socketId
संख्या
socketId.
-
पता
स्ट्रिंग
लोकल मशीन का पता.
-
पोर्ट
संख्या
लोकल मशीन का पोर्ट.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
): void
सॉकेट को रिमोट मशीन से कनेक्ट करता है (tcp सॉकेट के लिए). udp सॉकेट के लिए, यह डिफ़ॉल्ट पता सेट करता है. इस पते पर पैकेट भेजे जाते हैं और read() और write() कॉल के लिए पढ़े जाते हैं.
पैरामीटर
-
socketId
संख्या
socketId.
-
hostname
स्ट्रिंग
रिमोट मशीन का होस्टनेम या आईपी पता.
-
पोर्ट
संख्या
रिमोट मशीन का पोर्ट.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
): Promise<CreateInfo>
यह तय किए गए टाइप का सॉकेट बनाता है, जो तय की गई रिमोट मशीन से कनेक्ट होगा.
पैरामीटर
-
टाइप
बनाए जाने वाले सॉकेट का टाइप. यह ज़रूरी है कि वैल्यू
tcpयाudpहो. -
विकल्प
CreateOptions ज़रूरी नहीं
सॉकेट के विकल्प.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(createInfo: CreateInfo) => void
-
createInfo
-
रिटर्न
-
Promise<CreateInfo>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
destroy()
chrome.socket.destroy(
socketId: number,
): void
सॉकेट को बंद करता है. बनाए गए हर सॉकेट को इस्तेमाल के बाद खत्म कर देना चाहिए.
पैरामीटर
-
socketId
संख्या
socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
सॉकेट को डिसकनेक्ट करता है. यूडीपी सॉकेट के लिए, disconnect कोई कार्रवाई नहीं है. हालांकि, इसे कॉल करना सुरक्षित है.
पैरामीटर
-
socketId
संख्या
socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
दिए गए सॉकेट की स्थिति को वापस लाता है.
पैरामीटर
-
socketId
संख्या
socketId.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(result: SocketInfo) => void
-
नतीजा
-
रिटर्न
-
Promise<SocketInfo>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
): void
मल्टीकास्ट ग्रुप के वे पते पाएं जिनसे सॉकेट फ़िलहाल जुड़ा हुआ है.
पैरामीटर
-
socketId
संख्या
socketId.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(groups: string[]) => void
-
समूह
string[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
इस सिस्टम पर मौजूद लोकल अडैप्टर की जानकारी हासिल करता है.
पैरामीटर
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(result: NetworkInterface[]) => void
-
नतीजा
-
रिटर्न
-
Promise<NetworkInterface[]>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
): void
मल्टीकास्ट ग्रुप में शामिल होना और उस ग्रुप से पैकेट पाना शुरू करना. सॉकेट, यूडीपी टाइप का होना चाहिए. साथ ही, इस तरीके को कॉल करने से पहले, इसे किसी लोकल पोर्ट से बाउंड किया जाना चाहिए.
पैरामीटर
-
socketId
संख्या
socketId.
-
पता
स्ट्रिंग
उस ग्रुप का पता जिसमें शामिल होना है. डोमेन नेम इस्तेमाल नहीं किए जा सकते.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
joinGroup का इस्तेमाल करके, पहले से शामिल मल्टीकास्ट ग्रुप को छोड़ें. सॉकेट को बंद करने या बाहर निकलने से पहले, मल्टीकास्ट ग्रुप को छोड़ना ज़रूरी नहीं है. यह ओएस से अपने-आप कॉल होता है.
ग्रुप छोड़ने पर, राउटर लोकल होस्ट को मल्टीकास्ट डेटाग्राम नहीं भेज पाएगा. हालांकि, ऐसा तब होगा, जब होस्ट पर मौजूद कोई अन्य प्रोसेस अब भी ग्रुप में शामिल न हो.
पैरामीटर
-
socketId
संख्या
socketId.
-
पता
स्ट्रिंग
उस ग्रुप का पता जिसे छोड़ना है. डोमेन नेम इस्तेमाल नहीं किए जा सकते.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
): void
यह तरीका सिर्फ़ टीसीपी सॉकेट पर लागू होता है. तय किए गए पोर्ट और पते पर कनेक्शन के लिए सुनता है. इससे यह सॉकेट, सर्वर सॉकेट बन जाता है. साथ ही, इस सॉकेट पर क्लाइंट सॉकेट के फ़ंक्शन (कनेक्ट करना, पढ़ना, लिखना) इस्तेमाल नहीं किए जा सकते.
पैरामीटर
-
socketId
संख्या
socketId.
-
पता
स्ट्रिंग
लोकल मशीन का पता.
-
पोर्ट
संख्या
लोकल मशीन का पोर्ट.
-
बैकलॉग
number ज़रूरी नहीं
सॉकेट की लिसन सूची की लंबाई.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
): void
यह अनुमति मिलने पर, कनेक्ट किए गए सॉकेट से डेटा पढ़ा जा सकता है.
पैरामीटर
-
socketId
संख्या
socketId.
-
bufferSize
number ज़रूरी नहीं
रीड बफ़र साइज़.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
): void
दिए गए यूडीपी सॉकेट से डेटा मिलता है.
पैरामीटर
-
socketId
संख्या
socketId.
-
bufferSize
number ज़रूरी नहीं
रिसीव बफ़र साइज़.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
कनेक्ट किए गए टीसीपी क्लाइंट सॉकेट पर, टीएलएस क्लाइंट कनेक्शन शुरू करें.
पैरामीटर
-
socketId
संख्या
इस्तेमाल करने के लिए कनेक्ट किया गया सॉकेट.
-
विकल्प
SecureOptions ज़रूरी नहीं है
टीएलएस कनेक्शन के लिए पाबंदियां और पैरामीटर.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
): void
दिए गए यूडीपी सॉकेट पर मौजूद डेटा को दिए गए पते और पोर्ट पर भेजता है.
पैरामीटर
-
socketId
संख्या
socketId.
-
डेटा
ArrayBuffer
डेटा, जिसे लिखना है.
-
पता
स्ट्रिंग
रिमोट मशीन का पता.
-
पोर्ट
संख्या
रिमोट मशीन का पोर्ट.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
टीसीपी कनेक्शन के लिए, कीप-अलाइव सुविधा को चालू या बंद करता है.
पैरामीटर
-
socketId
संख्या
socketId.
-
चालू करें
बूलियन
अगर सही है, तो कीप-अलाइव सुविधा चालू करें.
-
विलंब
number ज़रूरी नहीं
आखिरी डेटा पैकेट मिलने और पहले कीपअलाइव प्रोब के बीच, देरी के सेकंड सेट करें. डिफ़ॉल्ट रूप से, यह वैल्यू 0 पर सेट होती है.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: boolean) => void
-
नतीजा
बूलियन
-
setMulticastLoopbackMode()
chrome.socket.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
संख्या
socketId.
-
चालू किया गया
बूलियन
इससे पता चलता है कि लूपबैक मोड चालू करना है या नहीं.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
मल्टीकास्ट ग्रुप को भेजे गए मल्टीकास्ट पैकेट के लिए, टाइम-टू-लिव सेट करें.
इस तरीके को कॉल करने के लिए, मल्टीकास्ट की अनुमतियों की ज़रूरत नहीं होती.
पैरामीटर
-
socketId
संख्या
socketId.
-
ttl
संख्या
टाइम-टू-लाइव वैल्यू.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
टीसीपी कनेक्शन के लिए, TCP_NODELAY को सेट या क्लियर करता है. TCP_NODELAY सेट होने पर, नेगल का एल्गोरिदम बंद हो जाएगा.
पैरामीटर
-
socketId
संख्या
socketId.
-
noDelay
बूलियन
अगर 'सही है' पर सेट है, तो नेगल का एल्गोरिदम बंद हो जाता है.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: boolean) => void
-
नतीजा
बूलियन
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
कनेक्ट किए गए सॉकेट पर डेटा लिखता है.