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 ज़रूरी नहीं

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

  • नाम

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

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

  • रोका गया

    बूलियन

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

  • अनवरत

    बूलियन

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

  • socketId

    संख्या

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

SocketProperties

प्रॉपर्टी

  • नाम

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

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

  • अनवरत

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

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

तरीके

close()

प्रॉमिस
chrome.sockets.tcpServer.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • socketId

    संख्या

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

create()

प्रॉमिस
chrome.sockets.tcpServer.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

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

पैरामीटर

  • प्रॉपर्टी

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

  • कॉलबैक

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

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

    (createInfo: CreateInfo) => void

    • createInfo

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

रिटर्न

  • Promise<CreateInfo>

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

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

disconnect()

प्रॉमिस
chrome.sockets.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • socketId

    संख्या

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

getInfo()

प्रॉमिस
chrome.sockets.tcpServer.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

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

पैरामीटर

  • socketId

    संख्या

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

  • कॉलबैक

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

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

रिटर्न

  • Promise<SocketInfo>

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

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

getSockets()

प्रॉमिस
chrome.sockets.tcpServer.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

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

पैरामीटर

  • कॉलबैक

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

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

रिटर्न

  • Promise<SocketInfo[]>

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

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

listen()

chrome.sockets.tcpServer.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)
: void

यह विकल्प, तय किए गए पोर्ट और पते पर कनेक्शन के लिए सुनता है. अगर पोर्ट/पता इस्तेमाल में है, तो कॉलबैक से यह पता चलता है कि अनुरोध पूरा नहीं किया जा सका.

पैरामीटर

  • socketId

    संख्या

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

  • पता

    स्ट्रिंग

    लोकल मशीन का पता.

  • पोर्ट

    संख्या

    लोकल मशीन का पोर्ट. 0 पर सेट होने पर, डाइनैमिक तौर पर एक फ़्री पोर्ट चुना जाता है. डाइनैमिक रूप से असाइन किए गए पोर्ट का पता लगाने के लिए, getInfo पर कॉल करें.

  • backlog

    number ज़रूरी नहीं

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

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

setPaused()

प्रॉमिस
chrome.sockets.tcpServer.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • socketId

    संख्या

  • रोका गया

    बूलियन

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

update()

प्रॉमिस
chrome.sockets.tcpServer.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • socketId

    संख्या

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

  • प्रॉपर्टी

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट 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