ब्यौरा
टीसीपी कनेक्शन का इस्तेमाल करके सर्वर ऐप्लिकेशन बनाने के लिए, chrome.sockets.tcpServer एपीआई का इस्तेमाल करें. यह एपीआई, chrome.socket एपीआई में पहले से मौजूद टीसीपी फ़ंक्शन की जगह लागू होता है.
मेनिफ़ेस्ट
टाइप
AcceptErrorInfo
प्रॉपर्टी
-
resultCode
संख्या
अंडरलाइंग नेटवर्क कॉल से मिला रिज़ल्ट कोड.
-
socketId
संख्या
सर्वर सॉकेट आइडेंटिफ़ायर.
AcceptInfo
प्रॉपर्टी
-
clientSocketId
संख्या
क्लाइंट सॉकेट आइडेंटिफ़ायर, यानी कि नए कनेक्शन का सॉकेट आइडेंटिफ़ायर. इस सॉकेट आइडेंटिफ़ायर का इस्तेमाल, सिर्फ़
chrome.sockets.tcpनेमस्पेस के फ़ंक्शन के साथ किया जाना चाहिए. ध्यान दें कि क्लाइंट सॉकेट शुरुआत में रुका हुआ होता है. डेटा पाना शुरू करने के लिए, ऐप्लिकेशन को इसे साफ़ तौर पर रोकना होगा. -
socketId
संख्या
सर्वर सॉकेट आइडेंटिफ़ायर.
CreateInfo
प्रॉपर्टी
-
socketId
संख्या
नए बनाए गए सर्वर सॉकेट का आईडी. ध्यान दें कि इस एपीआई से बनाए गए सॉकेट आईडी, अन्य एपीआई से बनाए गए सॉकेट आईडी के साथ काम नहीं करते. जैसे, अब इस्तेमाल नहीं किए जा रहे
[socket](../socket/)एपीआई से बनाए गए सॉकेट आईडी.
SocketInfo
प्रॉपर्टी
-
localAddress
string ज़रूरी नहीं
अगर सॉकेट सुन रहा है, तो इसमें उसका स्थानीय IPv4/6 पता शामिल होता है.
-
localPort
number ज़रूरी नहीं
अगर सॉकेट सुन रहा है, तो इसमें उसका लोकल पोर्ट शामिल होता है.
-
नाम
string ज़रूरी नहीं
सॉकेट से जुड़ी, ऐप्लिकेशन के हिसाब से तय की गई स्ट्रिंग.
-
रोका गया
बूलियन
इस फ़्लैग से पता चलता है कि लिसनिंग सॉकेट पर कनेक्शन के अनुरोध,
onAcceptइवेंट के ज़रिए भेजे जाते हैं या लिसन सूची के बैकलाॅग में सूची में जोड़े जाते हैं.setPausedदेखें. इसकी डिफ़ॉल्ट वैल्यू "false" है. -
अनवरत
बूलियन
फ़्लैग से पता चलता है कि ऐप्लिकेशन का इवेंट पेज अनलोड होने पर, सॉकेट खुला रहता है या नहीं (
SocketProperties.persistentदेखें). डिफ़ॉल्ट वैल्यू "गलत" होती है. -
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
SocketProperties
प्रॉपर्टी
-
नाम
string ज़रूरी नहीं
सॉकेट से जुड़ी, ऐप्लिकेशन के हिसाब से तय की गई स्ट्रिंग.
-
अनवरत
बूलियन ज़रूरी नहीं
यह फ़्लैग बताता है कि ऐप्लिकेशन का इवेंट पेज अनलोड होने पर, सॉकेट खुला रहता है या नहीं (ऐप्लिकेशन लाइफ़साइकल मैनेज करें देखें). इसकी डिफ़ॉल्ट वैल्यू "false" है. ऐप्लिकेशन लोड होने पर, persistent=true के साथ पहले खोले गए किसी भी सॉकेट को
getSocketsकी मदद से फ़ेच किया जा सकता है.
तरीके
close()
chrome.sockets.tcpServer.close(
socketId: number,
callback?: function,
): Promise<void>
सॉकेट को डिसकनेक्ट और बंद करता है. बनाए गए हर सॉकेट को इस्तेमाल के बाद बंद कर देना चाहिए. फ़ंक्शन को कॉल करते ही, सॉकेट आईडी अमान्य हो जाता है. हालांकि, सॉकेट के बंद होने की गारंटी सिर्फ़ तब होती है, जब कॉलबैक को शुरू किया जाता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
create()
chrome.sockets.tcpServer.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
टीसीपी सर्वर सॉकेट बनाता है.
पैरामीटर
-
प्रॉपर्टी
SocketProperties ज़रूरी नहीं
सॉकेट की प्रॉपर्टी (ज़रूरी नहीं).
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(createInfo: CreateInfo) => void
-
createInfo
सॉकेट बनाने का नतीजा.
-
रिटर्न
-
Promise<CreateInfo>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
disconnect()
chrome.sockets.tcpServer.disconnect(
socketId: number,
callback?: function,
): Promise<void>
यह लिसनिंग सॉकेट को डिसकनेक्ट करता है. इसका मतलब है कि यह नए कनेक्शन स्वीकार करना बंद कर देता है और उस पते/पोर्ट को रिलीज़ कर देता है जिससे सॉकेट जुड़ा हुआ है. सॉकेट आइडेंटिफ़ायर मान्य रहता है. उदाहरण के लिए, इसका इस्तेमाल listen के साथ किया जा सकता है, ताकि नए पोर्ट और पते पर कनेक्शन स्वीकार किए जा सकें.
पैरामीटर
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getInfo()
chrome.sockets.tcpServer.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
दिए गए सॉकेट की स्थिति को वापस लाता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(socketInfo: SocketInfo) => void
-
socketInfo
सॉकेट की जानकारी वाला ऑब्जेक्ट.
-
रिटर्न
-
Promise<SocketInfo>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getSockets()
chrome.sockets.tcpServer.getSockets(
callback?: function,
): Promise<SocketInfo[]>
यह ऐप्लिकेशन के मालिकाना हक वाले, फ़िलहाल खुले हुए सॉकेट की सूची को फिर से हासिल करता है.
पैरामीटर
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(socketInfos: SocketInfo[]) => void
-
socketInfos
सॉकेट की जानकारी वाले ऑब्जेक्ट का कलेक्शन.
-
रिटर्न
-
Promise<SocketInfo[]>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
listen()
chrome.sockets.tcpServer.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
): void
तय किए गए पोर्ट और पते पर कनेक्शन के लिए सुनता है. अगर पोर्ट/पता इस्तेमाल में है, तो कॉलबैक से गड़बड़ी का पता चलता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
पता
स्ट्रिंग
लोकल मशीन का पता.
-
पोर्ट
संख्या
लोकल मशीन का पोर्ट.
0पर सेट होने पर, डाइनैमिक तौर पर एक खाली पोर्ट चुना जाता है. डाइनैमिक तौर पर असाइन किए गए पोर्ट कोgetInfoको कॉल करके ढूंढा जा सकता है. -
बैकलॉग
number ज़रूरी नहीं
सॉकेट की लिसन सूची की लंबाई. डिफ़ॉल्ट वैल्यू, ऑपरेटिंग सिस्टम (SOMAXCONN) पर निर्भर करती है. इससे यह पक्का होता है कि ज़्यादातर ऐप्लिकेशन के लिए, सूची की लंबाई सही हो.
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(result: number) => void
-
नतीजा
संख्या
अंडरलाइंग नेटवर्क कॉल से मिला रिज़ल्ट कोड. नेगेटिव वैल्यू से पता चलता है कि कोई गड़बड़ी हुई है.
-
setPaused()
chrome.sockets.tcpServer.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
इससे, नए कनेक्शन स्वीकार करने के लिए, लिसनिंग सॉकेट को चालू या बंद किया जा सकता है. रोके जाने पर, लिसनिंग सॉकेट नए कनेक्शन स्वीकार करता है. ऐसा तब तक होता है, जब तक उसका बैकलाॅग (listen फ़ंक्शन देखें) भर नहीं जाता. इसके बाद, वह कनेक्शन के अन्य अनुरोधों को अस्वीकार कर देता है. onAccept इवेंट सिर्फ़ तब ट्रिगर होते हैं, जब सॉकेट को फिर से चालू किया जाता है.
पैरामीटर
-
socketId
संख्या
-
रोका गया
बूलियन
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
update()
chrome.sockets.tcpServer.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
सॉकेट की प्रॉपर्टी अपडेट करता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
प्रॉपर्टी
अपडेट की जाने वाली प्रॉपर्टी.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 121 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
इवेंट
onAccept
chrome.sockets.tcpServer.onAccept.addListener(
callback: function,
)
सर्वर सॉकेट से कनेक्शन होने पर, इवेंट ट्रिगर होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(info: AcceptInfo) => void
-
जानकारी
-
onAcceptError
chrome.sockets.tcpServer.onAcceptError.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब सॉकेट पते और पोर्ट पर नए कनेक्शन का इंतज़ार करने के दौरान, नेटवर्क की कोई गड़बड़ी होती है. यह इवेंट ट्रिगर होने के बाद, सॉकेट को paused पर सेट कर दिया जाता है. साथ ही, इस सॉकेट के लिए तब तक कोई और onAccept इवेंट ट्रिगर नहीं होता, जब तक सॉकेट को फिर से चालू नहीं किया जाता.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(info: AcceptErrorInfo) => void
-
जानकारी
-