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