chrome.sockets.tcp

ब्यौरा

टीसीपी कनेक्शन का इस्तेमाल करके, नेटवर्क पर डेटा भेजने और पाने के लिए, chrome.sockets.tcp API का इस्तेमाल करें. यह एपीआई, 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 optional

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

  • resultCode

    संख्या

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

SocketInfo

प्रॉपर्टी

  • bufferSize

    number optional

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

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

    बूलियन

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

  • localAddress

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

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

  • localPort

    number optional

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

  • नाम

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

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

  • रोका गया

    बूलियन

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

  • peerAddress

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

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

  • peerPort

    number optional

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

  • अनवरत

    बूलियन

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

  • socketId

    संख्या

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

SocketProperties

प्रॉपर्टी

  • bufferSize

    number optional

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

  • नाम

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

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

  • अनवरत

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

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

TLSVersionConstraints

प्रॉपर्टी

  • अधिकतम

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

  • मिनट

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

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

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

तरीके

close()

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

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

पैरामीटर

  • socketId

    संख्या

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

  • कॉलबैक

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

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

    () => void

रिटर्न

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

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

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

पैरामीटर

  • प्रॉपर्टी

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

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

  • कॉलबैक

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

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

    (createInfo: CreateInfo) => void

    • createInfo

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

रिटर्न

  • Promise<CreateInfo>

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

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

disconnect()

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

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

पैरामीटर

  • socketId

    संख्या

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

getInfo()

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

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

पैरामीटर

  • socketId

    संख्या

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

  • कॉलबैक

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

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

रिटर्न

  • Promise<SocketInfo>

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

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

getSockets()

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

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

पैरामीटर

  • कॉलबैक

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

    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 optional

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

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

setNoDelay()

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

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

पैरामीटर

  • socketId

    संख्या

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

  • noDelay

    बूलियन

    अगर सही है, तो Nagle के एल्गोरिदम को बंद कर देता है.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

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

setPaused()

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

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

पैरामीटर

  • socketId

    संख्या

  • रोका गया

    बूलियन

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

update()

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

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

पैरामीटर

  • socketId

    संख्या

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

  • प्रॉपर्टी

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

  • कॉलबैक

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

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

    () => void

रिटर्न

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