chrome.sockets.tcp

ब्यौरा

टीसीपी कनेक्शन का इस्तेमाल करके, नेटवर्क पर डेटा भेजने और पाने के लिए, chrome.sockets.tcp एपीआई का इस्तेमाल करें. यह एपीआई, chrome.socket एपीआई में पहले से मौजूद टीसीपी फ़ंक्शन की जगह लागू होता है.

मेनिफ़ेस्ट

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

"sockets"

टाइप

CreateInfo

प्रॉपर्टी

  • socketId

    संख्या

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

DnsQueryType

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

डीएनएस रिज़ॉल्यूशन की प्राथमिकताएं. डिफ़ॉल्ट रूप से, यह कार्रवाई any पर सेट होती है. साथ ही, यह मौजूदा ओएस कॉन्फ़िगरेशन का इस्तेमाल करती है, जो IPv4 या IPv6 दिखा सकता है. ipv4, IPv4 को लागू करता है और ipv6, IPv6 को लागू करता है.

Enum

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

प्रॉपर्टी

  • resultCode

    संख्या

    अंडरलाइंग नेटवर्क कॉल से मिला रिज़ल्ट कोड.

  • socketId

    संख्या

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

ReceiveInfo

प्रॉपर्टी

  • डेटा

    ArrayBuffer

    रिसीव किया गया डेटा, जिसका साइज़ ज़्यादा से ज़्यादा bufferSize हो.

  • socketId

    संख्या

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

SecureOptions

प्रॉपर्टी

SendInfo

प्रॉपर्टी

  • bytesSent

    number ज़रूरी नहीं

    भेजे गए बाइट की संख्या (अगर नतीजा == 0 है)

  • resultCode

    संख्या

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

SocketInfo

प्रॉपर्टी

  • bufferSize

    number ज़रूरी नहीं

    डेटा पाने के लिए इस्तेमाल किए जाने वाले बफ़र का साइज़. अगर बफ़र साइज़ को साफ़ तौर पर तय नहीं किया गया है, तो वैल्यू नहीं दी जाती है.

  • कनेक्ट किया गया

    बूलियन

    फ़्लैग से पता चलता है कि सॉकेट किसी रिमोट पीयर से कनेक्ट है या नहीं.

  • localAddress

    string ज़रूरी नहीं

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

  • localPort

    number ज़रूरी नहीं

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

  • नाम

    string ज़रूरी नहीं

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

  • रोका गया

    बूलियन

    फ़्लैग से पता चलता है कि कनेक्ट किया गया सॉकेट, अपने पीयर को ज़्यादा डेटा भेजने से रोकता है या नहीं (setPaused देखें).

  • peerAddress

    string ज़रूरी नहीं

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

  • peerPort

    number ज़रूरी नहीं

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

  • अनवरत

    बूलियन

    इस फ़्लैग से पता चलता है कि ऐप्लिकेशन के निलंबित होने पर सॉकेट खुला रहता है या नहीं (SocketProperties.persistent देखें).

  • socketId

    संख्या

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

SocketProperties

प्रॉपर्टी

  • bufferSize

    number ज़रूरी नहीं

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

  • नाम

    string ज़रूरी नहीं

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

  • अनवरत

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

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

TLSVersionConstraints

प्रॉपर्टी

  • अधिकतम

    string ज़रूरी नहीं

  • न्यून

    string ज़रूरी नहीं

    TLS के कम से कम और ज़्यादा से ज़्यादा स्वीकार किए जाने वाले वर्शन. tls1.2 या tls1.3 का इस्तेमाल किया जा सकता है.

    tls1 और tls1.1 वैल्यू अब काम नहीं करतीं. अगर min को इनमें से किसी एक वैल्यू पर सेट किया जाता है, तो इसे चुपचाप tls1.2 पर सेट कर दिया जाएगा. अगर max को इनमें से किसी एक वैल्यू या किसी अन्य ऐसी वैल्यू पर सेट किया जाता है जिसकी पहचान नहीं की जा सकती, तो उसे अनदेखा कर दिया जाएगा.

तरीके

close()

वादा
chrome.sockets.tcp.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • socketId

    संख्या

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

  • कॉलबैक

    function ज़रूरी नहीं

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

    () => void

रिटर्न

  • वादा<शून्य>

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

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

connect()

chrome.sockets.tcp.connect(
  socketId: number,
  peerAddress: string,
  peerPort: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)
: void

सॉकेट को किसी रिमोट मशीन से कनेक्ट करता है. connect कार्रवाई पूरी होने पर, पीयर से डेटा मिलने पर onReceive इवेंट ट्रिगर होते हैं. अगर रनटाइम के दौरान पैकेट मिलने पर नेटवर्क की गड़बड़ी होती है, तो onReceiveError इवेंट ट्रिगर होता है. इस दौरान, इस सॉकेट के लिए कोई और onReceive इवेंट तब तक ट्रिगर नहीं होगा, जब तक resume तरीके को कॉल नहीं किया जाता.

पैरामीटर

  • socketId

    संख्या

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

  • peerAddress

    स्ट्रिंग

    रिमोट मशीन का पता. डीएनएस नेम, IPv4, और IPv6 फ़ॉर्मैट इस्तेमाल किए जा सकते हैं.

  • peerPort

    संख्या

    रिमोट मशीन का पोर्ट.

  • dnsQueryType

    DnsQueryType ज़रूरी नहीं

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

    पते के रिज़ॉल्यूशन की प्राथमिकता.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

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

create()

वादा
chrome.sockets.tcp.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

टीसीपी सॉकेट बनाता है.

पैरामीटर

  • प्रॉपर्टी

    SocketProperties ज़रूरी नहीं

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

  • कॉलबैक

    function ज़रूरी नहीं

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

    (createInfo: CreateInfo) => void

    • createInfo

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

रिटर्न

  • Promise<CreateInfo>

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

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

disconnect()

वादा
chrome.sockets.tcp.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

सॉकेट को डिसकनेक्ट करता है.

पैरामीटर

  • socketId

    संख्या

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

  • कॉलबैक

    function ज़रूरी नहीं

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

    () => void

रिटर्न

  • वादा<शून्य>

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

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

getInfo()

वादा
chrome.sockets.tcp.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

दिए गए सॉकेट की स्थिति को वापस लाता है.

पैरामीटर

  • socketId

    संख्या

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

  • कॉलबैक

    function ज़रूरी नहीं

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

रिटर्न

  • Promise<SocketInfo>

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

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

getSockets()

वादा
chrome.sockets.tcp.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

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

पैरामीटर

  • कॉलबैक

    function ज़रूरी नहीं

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

रिटर्न

  • Promise<SocketInfo[]>

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

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

secure()

chrome.sockets.tcp.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)
: void

कनेक्ट किए गए टीसीपी क्लाइंट सॉकेट पर, टीएलएस क्लाइंट कनेक्शन शुरू करें.

पैरामीटर

  • socketId

    संख्या

    इस्तेमाल करने के लिए, मौजूदा और कनेक्ट किया गया सॉकेट.

  • विकल्प

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

    टीएलएस कनेक्शन के लिए पाबंदियां और पैरामीटर.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

send()

chrome.sockets.tcp.send(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)
: void

दिए गए टीसीपी सॉकेट पर डेटा भेजता है.

पैरामीटर

  • socketId

    संख्या

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

  • डेटा

    ArrayBuffer

    भेजा जाने वाला डेटा.

  • कॉलबैक

    फ़ंक्शन

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

    (sendInfo: SendInfo) => void

    • sendInfo

      send तरीके का नतीजा.

setKeepAlive()

chrome.sockets.tcp.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)
: void

टीसीपी कनेक्शन के लिए, कीप-अलाइव सुविधा को चालू या बंद करता है.

पैरामीटर

  • socketId

    संख्या

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

  • चालू करें

    बूलियन

    अगर सही है, तो कीप-अलाइव सुविधा चालू करें.

  • विलंब

    number ज़रूरी नहीं

    आखिरी डेटा पैकेट मिलने और पहले कीपअलाइव प्रोब के बीच, देरी के सेकंड सेट करें. डिफ़ॉल्ट रूप से, यह वैल्यू 0 पर सेट होती है.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

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

setNoDelay()

chrome.sockets.tcp.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)
: void

टीसीपी कनेक्शन के लिए, TCP_NODELAY को सेट या क्लियर करता है. TCP_NODELAY सेट होने पर, नेगल का एल्गोरिदम बंद हो जाएगा.

पैरामीटर

  • socketId

    संख्या

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

  • noDelay

    बूलियन

    अगर 'सही है' पर सेट है, तो नेगल का एल्गोरिदम बंद हो जाता है.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

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

setPaused()

वादा
chrome.sockets.tcp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

इससे ऐप्लिकेशन को अपने पीयर से मैसेज पाने की सुविधा चालू या बंद होती है. इसकी डिफ़ॉल्ट वैल्यू "false" है. आम तौर पर, सॉकेट को रोकने का इस्तेमाल कोई ऐप्लिकेशन, अपने पीयर से भेजे गए डेटा को कम करने के लिए करता है. सॉकेट के रुकने पर, कोई onReceive इवेंट नहीं होता. जब कोई सॉकेट कनेक्ट होता है और उसे अन-पॉज़ किया जाता है, तो मैसेज मिलने पर onReceive इवेंट फिर से ट्रिगर होते हैं.

पैरामीटर

  • socketId

    संख्या

  • रोका गया

    बूलियन

  • कॉलबैक

    function ज़रूरी नहीं

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

    () => void

रिटर्न

  • वादा<शून्य>

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

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

update()

वादा
chrome.sockets.tcp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • socketId

    संख्या

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

  • प्रॉपर्टी

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

  • कॉलबैक

    function ज़रूरी नहीं

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

    () => void

रिटर्न

  • वादा<शून्य>

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

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

इवेंट

onReceive

chrome.sockets.tcp.onReceive.addListener(
  callback: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (info: ReceiveInfo) => void

onReceiveError

chrome.sockets.tcp.onReceiveError.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब सॉकेट पते और पोर्ट पर डेटा के लिए रनटाइम के इंतज़ार के दौरान नेटवर्क की कोई गड़बड़ी होती है. यह इवेंट ट्रिगर होने के बाद, सॉकेट को paused पर सेट कर दिया जाता है. साथ ही, इस सॉकेट के लिए कोई और onReceive इवेंट ट्रिगर नहीं होता.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (info: ReceiveErrorInfo) => void