chrome.sockets.tcpServer

ब्यौरा

टीसीपी कनेक्शन का इस्तेमाल करके सर्वर ऐप्लिकेशन बनाने के लिए, chrome.sockets.tcpServer API का इस्तेमाल करें. यह एपीआई, chrome.socket एपीआई में पहले से मौजूद टीसीपी की सुविधा की जगह लेता है.

मेनिफ़ेस्ट

इस एपीआई का इस्तेमाल करने के लिए, इन कुंजियों का एलान मेनिफ़ेस्ट में करना ज़रूरी है.

"sockets"

टाइप

AcceptErrorInfo

प्रॉपर्टी

  • resultCode

    संख्या

    नेटवर्क कॉल से मिला नतीजा कोड.

  • socketId

    संख्या

    सर्वर सॉकेट आइडेंटिफ़ायर.

AcceptInfo

प्रॉपर्टी

  • clientSocketId

    संख्या

    क्लाइंट सॉकेट आइडेंटिफ़ायर, यानी कि नए कनेक्शन का सॉकेट आइडेंटिफ़ायर. इस सॉकेट आइडेंटिफ़ायर का इस्तेमाल, सिर्फ़ chrome.sockets.tcp नेमस्पेस के फ़ंक्शन के साथ किया जाना चाहिए. ध्यान दें कि क्लाइंट सॉकेट को शुरू में रोक दिया जाता है. डेटा पाना शुरू करने के लिए, ऐप्लिकेशन को इसे साफ़ तौर पर अन-पॉज़ करना होगा.

  • socketId

    संख्या

    सर्वर सॉकेट आइडेंटिफ़ायर.

CreateInfo

प्रॉपर्टी

  • socketId

    संख्या

    नए बनाए गए सर्वर सॉकेट का आईडी. ध्यान दें कि इस एपीआई से बनाए गए सॉकेट आईडी, अन्य एपीआई से बनाए गए सॉकेट आईडी के साथ काम नहीं करते. जैसे, बंद किया गया [socket](../socket/) एपीआई.

SocketInfo

प्रॉपर्टी

  • localAddress

    string ज़रूरी नहीं है

    अगर सॉकेट लिसनिंग मोड में है, तो इसमें इसका लोकल IPv4/6 पता होता है.

  • localPort

    number optional

    अगर सॉकेट लिसनिंग मोड में है, तो इसमें इसका लोकल पोर्ट होता है.

  • नाम

    string ज़रूरी नहीं है

    सॉकेट से जुड़ी, ऐप्लिकेशन के हिसाब से तय की गई स्ट्रिंग.

  • रोका गया

    बूलियन

    इस फ़्लैग से पता चलता है कि लिसनिंग सॉकेट पर कनेक्शन के अनुरोध, onAccept इवेंट के ज़रिए भेजे जाते हैं या लिसन क्यू बैकलॉग में कतार में लगाए जाते हैं. setPaused देखें. डिफ़ॉल्ट वैल्यू "false" होती है.

  • अनवरत

    बूलियन

    यह फ़्लैग दिखाता है कि ऐप्लिकेशन का इवेंट पेज अनलोड होने पर, सॉकेट खुला रहता है या नहीं (SocketProperties.persistent देखें). डिफ़ॉल्ट वैल्यू "false" है.

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

SocketProperties

प्रॉपर्टी

  • नाम

    string ज़रूरी नहीं है

    ऐप्लिकेशन के हिसाब से तय की गई स्ट्रिंग, जो सॉकेट से जुड़ी होती है.

  • अनवरत

    बूलियन ज़रूरी नहीं है

    यह फ़्लैग दिखाता है कि ऐप्लिकेशन का इवेंट पेज अनलोड होने पर, सॉकेट खुला रहता है या नहीं. इसके बारे में ज़्यादा जानने के लिए, ऐप्लिकेशन के लाइफ़साइकल को मैनेज करना लेख पढ़ें. डिफ़ॉल्ट वैल्यू "false" होती है. ऐप्लिकेशन लोड होने पर, persistent=true के साथ पहले से खुले हुए किसी भी सॉकेट को getSockets की मदद से फ़ेच किया जा सकता है.

तरीके

close()

Promise
chrome.sockets.tcpServer.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

यह सॉकेट को डिसकनेक्ट करता है और उसे मिटा देता है. इस्तेमाल के बाद, बनाए गए हर सॉकेट को बंद कर देना चाहिए. फ़ंक्शन को कॉल करने के तुरंत बाद, सॉकेट आईडी मान्य नहीं रहता. हालांकि, सॉकेट बंद होने की गारंटी सिर्फ़ तब दी जाती है, जब कॉलबैक शुरू हो जाता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 121 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

create()

Promise
chrome.sockets.tcpServer.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

यह फ़ंक्शन, टीसीपी सर्वर सॉकेट बनाता है.

पैरामीटर

  • प्रॉपर्टी

    SocketProperties ज़रूरी नहीं है

    सॉकेट की प्रॉपर्टी (ज़रूरी नहीं).

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (createInfo: CreateInfo) => void

    • createInfo

      सॉकेट बनाने का नतीजा.

रिटर्न

  • Promise<CreateInfo>

    Chrome 121 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

disconnect()

Promise
chrome.sockets.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

यह लिसनिंग सॉकेट को डिसकनेक्ट करता है. इसका मतलब है कि यह नए कनेक्शन स्वीकार करना बंद कर देता है और सॉकेट जिस पते/पोर्ट से जुड़ा है उसे रिलीज़ कर देता है. सॉकेट आइडेंटिफ़ायर मान्य रहता है. उदाहरण के लिए, इसका इस्तेमाल listen के साथ किया जा सकता है, ताकि नए पोर्ट और पते पर कनेक्शन स्वीकार किए जा सकें.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 121 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getInfo()

Promise
chrome.sockets.tcpServer.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

यह फ़ंक्शन, दिए गए सॉकेट की स्थिति को वापस लाता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (socketInfo: SocketInfo) => void

    • socketInfo

      सॉकेट की जानकारी देने वाला ऑब्जेक्ट.

रिटर्न

  • Promise<SocketInfo>

    Chrome 121 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getSockets()

Promise
chrome.sockets.tcpServer.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

यह ऐप्लिकेशन के मालिकाना हक वाले, फ़िलहाल खुले हुए सॉकेट की सूची को वापस लाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    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 optional

    सॉकेट की लिसन क्यू की लंबाई. डिफ़ॉल्ट वैल्यू, ऑपरेटिंग सिस्टम (SOMAXCONN) पर निर्भर करती है. इससे यह पक्का होता है कि ज़्यादातर ऐप्लिकेशन के लिए, कतार की लंबाई सही हो.

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (result: number) => void

    • नतीजा

      संख्या

      नेटवर्क कॉल से मिला नतीजा कोड. नेगेटिव वैल्यू से गड़बड़ी का पता चलता है.

setPaused()

Promise
chrome.sockets.tcpServer.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

इस कुकी से, लिसनिंग सॉकेट को नए कनेक्शन स्वीकार करने की अनुमति मिलती है या नहीं मिलती है. रोकने पर, लिसनिंग सॉकेट नए कनेक्शन स्वीकार करता है. ऐसा तब तक होता है, जब तक इसका बैकलॉग (listen फ़ंक्शन देखें) पूरा नहीं हो जाता. इसके बाद, यह कनेक्शन के अन्य अनुरोधों को अस्वीकार कर देता है. onAccept इवेंट सिर्फ़ तब ट्रिगर होते हैं, जब सॉकेट को अन-पॉज़ किया जाता है.

पैरामीटर

  • socketId

    संख्या

  • रोका गया

    बूलियन

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 121 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

update()

Promise
chrome.sockets.tcpServer.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

सॉकेट की प्रॉपर्टी अपडेट करता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

  • प्रॉपर्टी

    अपडेट की जाने वाली प्रॉपर्टी.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<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